如何使用mysql和php从数据库中显示成员信息的问题?

时间:2009-09-29 14:15:56

标签: php mysql

  

可能重复:
  mysql_fetch_array() expects parameter 1 to be resource, boolean given in select

好的,我有一段代码由于某种原因给我以下错误。

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in

这是代码。

$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT * FROM sitename WHERE id='$user_id'");
while($row = mysqli_fetch_array($dbc)){ 
$state = $row["state"];
$city = $row["city"];
$zip = $row["zip"]; 
$bio_body = $row["bio_body"]; 
}

如果你能给我正确的代码,请帮助我。

4 个答案:

答案 0 :(得分:3)

你的mysqli_query返回false(一般意味着查询错误)。在执行mysqli_fetch_array之前检查mysql错误

答案 1 :(得分:1)

要考虑如何对错误采取措施,请查看mysqli error function。这段代码应该运行,并打印出错误,但这不是一个让系统最终离开的好方法(另见上面关于空白密码的评论)。

$mysqli = new mysqli("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT * FROM sitename WHERE id='$user_id'");
if (!$dbc) {
    // There was an error...do something about it here...
    print mysqli_error();
}  else {
    while($row = mysqli_fetch_array($dbc)){ 
        $state = $row["state"];
        $city = $row["city"];
        $zip = $row["zip"]; 
        $bio_body = $row["bio_body"]; 
    }
}

最后要注意的是,如果您开始使用PHP和数据库,我强烈建议您查看PDO。它提供了旧的MySQL和MySQLi函数和对象中缺少的数据抽象级别。

答案 2 :(得分:0)

从我记得你正在使用新的mysqli

你应该使用$ mysqli-> query()和$ mysqli-> fetch_array()而不是传统的方法吗?

或者您可以删除新关键字并保持其他关键字

答案 3 :(得分:0)

您的代码是否实际致电SELECT * FROM sitename WHERE id='$user_id'? 我认为表名是用户或成员或其他东西。