我试图回显最后3个数据库插入但是当我使用“DESC”命令时它会给我一个错误
“致命错误:在第25行的C:\ xampp \ htdocs \ sitename \ test.php中调用boolean上的成员函数fetch_assoc()”
这是我的代码
<?php
$db = new mysqli('localhost', 'root', '', 'db');
if (isset($_GET['id'])) {
$weeklymenu = $_GET['id'];
$sql_menu = "SELECT * FROM db_weeklymenu WHERE ID = '$weeklymenu' DESC LIMIT 3";
$result_menu = $db->query($sql_menu);
$row_menu = $result_menu->fetch_assoc();
}
else{
$sql_menu = "SELECT * FROM db_weeklymenu DESC LIMIT 3";
$result_menu = $db->query($sql_menu);
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<?php
while ( $row_menu = $result_menu->fetch_assoc() ) {
?>
<a href="weeklymenu?id=<?=$row_menu['ID'];?>"><?=$row_menu['weeklymenu'];?></a>
<?php
}
?>
</body>
</html>
任何人都知道如何解决这个问题? :)
感谢。
答案 0 :(得分:1)
你得到的错误是因为retch_assoc()函数期望MySQL结果集资源,但是没有得到它。它的出现是因为您的查询无效;因为你不能单独使用DESC,所以需要使用&#34;命令。声明,所以做类似的事情:
SELECT * FROM db_weeklymenu ORDER BY ID DESC LIMIT 3
答案 1 :(得分:0)
您的SQL查询无效。您需要订单子句。
SELECT * FROM db_weeklymenu ORDER BY id DESC LIMIT 3
修改强> 删除此行: $ row_menu = $ result_menu-&gt; fetch_assoc();
$db = new mysqli('localhost', 'root', '', 'db');
if (isset($_GET['id'])) {
$weeklymenu = $_GET['id'];
$sql_menu = "SELECT * FROM db_weeklymenu WHERE ID = '$weeklymenu' ORDER BY id DESC LIMIT 3";
$result_menu = $db->query($sql_menu);
}
else{
$sql_menu = "SELECT * FROM db_weeklymenu ORDER BY id DESC LIMIT 3";
$result_menu = $db->query($sql_menu);
}
?>