Php 通过mysqli选择数据

Php 通过mysqli选择数据,php,Php,我经常遇到这样的错误:致命错误:对非对象调用成员函数fetch_assoc() 对于这个问题,没有其他答案,你会解决我的问题。你知道这里有什么问题吗 <? $link = mysqli_connect("localhost","","","mysql"); $data = 'SELECT * FROM `league_quiz` ORDER BY score'; $result = $link->query($data); while( $row = $result->fet

我经常遇到这样的错误:致命错误:对非对象调用成员函数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 ();
?>

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

致命错误:对非对象调用成员函数
fetch\u assoc()

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

这是怎么回事?你把它分配到这里

$result = $link->query($data);
这意味着您的查询一定失败了。要查看错误,可以尝试打印
mysqli\u错误($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;
}

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

您确定那些用户名和密码“”不是空的吗?我很少看到没有用户名的mysql用户。我相信这就是为什么你的连接返回错误。它们不是空白的!我刚在这里做的,我确信它们是正确的。@user3130214我们怎么知道的?我的意思是,如果那里有什么东西,你至少可以用星号告诉我们。其次,除了解析位之外,不检查任何错误。。所以调试一些。