繁体   English   中英

mysql_fetch_array()和mysql_query()问题

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM