[英]mysql_fetch_array() and mysql_query() problems
我在错误日志中不断收到此错误,但我不确定为什么。 我到处都看过了,Google用了它,但是迷路了,我需要帮助:
[Wed Mar 27 02:14:56 2013] [error] PHP Warning: mysql_query() expects parameter 2 to
be resource, null given in /nas/wp/www/cluster-1434/XXXXXXXX/wp-content/themes/mytheme
/groups/single/home.php on line 23
[Wed Mar 27 02:14:56 2013] [error] PHP Warning: mysql_fetch_array() expects
parameter
1 to be resource, null given in /nas/wp/www/cluster-1434/XXXXXXXX/wp-content/themes
/mytheme/groups/single/home.php on line 24
这是它所引用的代码:
$getlatlong = mysql_query("SELECT * FROM zipcity WHERE zip='".$url[2]."'",$con);
$ll = mysql_fetch_array($getlatlong);
如果需要,这是完整的代码:
<?php
global $bp;
global $current_user;
$group_name = $bp->groups->current_group->name;
$group_id = $bp->groups->current_group->id;
$groupll = groups_get_groupmeta( $group_id, $meta_key = 'latlong');
$groupnamecount = strlen($group_name);
$groupcity = groups_get_groupmeta( $group_id, $meta_key = 'city');
$groupstate = groups_get_groupmeta( $group_id, $meta_key = 'state');
$mapaddress = $group_name.'+'.$groupcity.'+'.$groupstate;
if ($groupnamecount == '5')
{
$grouptype = "zip";
}
if ($grouptype == "zip") {
$url = explode('/',$_SERVER['REQUEST_URI']);
$zip = $url[2];
$getlatlong = mysql_query("SELECT * FROM zipcode WHERE zip='".$url[2]."'",$con);
$ll = mysql_fetch_array($getlatlong);
} else {
$groupcity = groups_get_groupmeta( $group_id, $meta_key = 'city');
$groupstate = groups_get_groupmeta( $group_id, $meta_key = 'state');
$mapaddress = $group_name.'+'.$groupcity.'+'.$groupstate;
}
更新
问题是$ con在代码的后面声明了。 一旦我解决了问题,它就可以完美运行。 感谢所有回答!
您的连接$ con存在问题,它没有连接并返回null。
您不需要将$conn
放在mysql_query()
函数中只是为了执行您的SQL语句,因为您已经使用$con
设置使用mysql_select_db()
将数据库连接到数据库,如下所示。
$getlatlong = mysql_query("SELECT * FROM zipcity WHERE zip='".$url[2]."'",$con);
$ll = mysql_fetch_array($getlatlong);
首先,您的连接应该像这样。
$conn = mysql_connect($host,$user,$pass); // mysql config
mysql_select_db('databasename',$conn); // connection to database
然后像这样查询
$getlatlong = mysql_query("SELECT * FROM zipcity WHERE zip='".$url[2]."'");
$ll = mysql_fetch_array($getlatlong);
您的$con
变量似乎从未定义,或者连接失败。 如果您根本不指定连接参数,PHP将自动使用最后建立的MySQL连接,如下所示:
$getlatlong = mysql_query("SELECT * FROM zipcode WHERE zip='". $url[2] ."'");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.