php操作mysql出现Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in……怎么办

今天用php操作数据库,出现了一个奇怪的问题:

Fatal error: Uncaught Error: Call to a member function fetch_assoc() on bool in D:\dd\dd\wwwroot\cookie\login\test.php:5 Stack trace: #0 {main} thrown in D:\dd\dd\wwwroot\cookie\login\test.php on line 5

相关代码是这样的:

<?php
$mysqli = new mysqli('localhost','root','');
$sql ="SELECT * FROM user WHERE id=1";
$result = $mysqli->query($sql);
$row = $result->fetch_assoc();
echo $row['id'].$row['username'].$row['password'];

百般查阅无果,后来发现,原因是没有指定哪个数据库,只需要在数据表‘user’前面指定数据 库即可,假如数据库名为:news,则sql语句为:

 

$sql ="SELECT * FROM news.user WHERE id=1";

更改完之后就正常了,这说明如果一个数据库里有超过两张表,则必须 指定数据 库名,只写表可能是不行的。

点赞