mysql_fetch_array()期望参数1是资源,给定的对象不起作用

时间:2014-08-23 06:04:44

标签: php mysql

每当我尝试运行此代码时,都会显示错误。我是 PHP,MySQL 的新手。代码如下:

$id=mysqli_connect("localhost","root","") or die("Could not connect to MySQL server.");

$query="Select Code,Name from world.Country limit 10,5";

$query_results=mysqli_query($id,$query);

if($query_results==false)
{

echo"Failed";

}

while($row=mysql_fetch_array($query_results,MYSQL_BOTH))
{

    $Countrycode= $row['Code'];
    $Countryname= $row['Name'];
    print "$country_name($country_code)<br>\n";`//No display`
}

mysqli_close($id); 

3 个答案:

答案 0 :(得分:3)

修改

有趣的是,即使您没有提供要选择的默认数据库,您的查询仍然有效,因为您在查询本身中提供了数据库标识符。所以我的fisrt建议并不是你遇到的实际问题。只有您使用mysql_fetch_array代替mysqli_fetch_array才能看到错误。

上一个回答

您尚未选择任何数据库来处理。你错过了

的电话
mysqli_select_db($id,$databaseName);

然后,您将mysql_*函数与mysqli_*混合在一起。有关正确的使用说明,请阅读 MySQLi 手册。您还可以在连接时提供数据库名称,例如

mysqli_connect("localhost","root","password","database") 

然后您必须使用mysqli而不是mysql

来获取结果

mysqli_fetch_array

答案 1 :(得分:0)

$id=mysqli_connect("localhost","root","",$databaseName) or die("Could not connect to MySQL server.");
$query="Select Code,Name from world.Country limit 10,5";
$query_results=mysqli_query($id,$query);
if($query_results==false) {
    echo"Failed";
}
while($row=mysqli_fetch_array($query_results,MYSQL_BOTH)){ // You used mysql_fetch_array
    $Countrycode= $row['Code'];
    $Countryname= $row['Name'];
    print "$country_name($country_code)<br>\n";`//No display`
}
mysqli_close($id); 

如果您使用的是mysqli,那么您应该使用mysqli_fetch_array。

答案 2 :(得分:0)

您错过了连接中的数据库名称:

$id=mysqli_connect("localhost","root","","DBNAME") or die("Could not connect to MySQL server.");

将mysql_fetch_array更改为mysqli_fetch_array

while($row=mysqli_fetch_array($query_results)){
......
......
}