通过mysqli选择数据

时间:2013-12-27 02:15:18

标签: php

我一直收到此错误:致命错误:在非对象上调用成员函数fetch_assoc()

并且没有解决此问题的其他答案,您将解决我的问题。知道问题在这里吗?

<?
$link = mysqli_connect("localhost","","","mysql");

$data = 'SELECT * FROM `league_quiz` ORDER BY score';
$result = $link->query($data);
while( $row = $result->fetch_assoc()){
echo $row['leaguename'] . " " . $row['quizscore'];
echo "<br/>";

}
$link->close ();
?>

1 个答案:

答案 0 :(得分:1)

解决任何问题的第一步是理解它。

  

致命错误:在非对象上调用成员函数fetch_assoc()

用更简单的语言:你试图在非对象的东西上使用方法fetch_assoc(),特别是$result。所以有你的问题:$result不是一个对象。

那怎么可能呢?你在这里分配

$result = $link->query($data);

这意味着您的查询必须失败。要查看错误,您可以尝试打印mysqli_error($link)

将来,请务必检查您的命令是否成功执行,例如

if (mysqli_connect_errno())
  printf("Error during connection: %s\n", mysqli_connect_error());
  return false;
}

以后

if (!$result) {
  printf("Error during querying: %s\n", mysqli_error($link));
  return false;
}

或类似的东西,具体取决于您的确切代码。