我正在开发一个非常简单的 minichat 程序 (php/mysql
),它显示最后 10 条消息。
我想添加一个按钮来删除最后一条消息(使用一个表单,生成一个 php
文件,如下所示)。
我真的是 php
和 mysql
的初学者,所以我不明白为什么它不起作用。
遵循我的代码:
<?php
// Create connection
$cn = new mysqli("localhost","root","","test");
// Check connection
if($cn->connect_error)
{
echo "Connection failed : " . $cn->connect_error;
}
$sql = "DELETE FROM `minichat` WHERE `minichat`.`id` = ('SELECT MAX(`id`) FROM `minichat`')";
if($cn->query($sql) === TRUE){
echo "Deleted succesfully";
}
else
{
echo "Error deleting record: " . $cn->error;
}
//header('Location: connexion.php');
?>
最佳答案
根据 DELETE Syntax 上的手册:
Subqueries
You cannot delete from a table and select from the same table in a subquery.
所以你应该这样做:
DELETE FROM minichat ORDER BY id DESC LIMIT 1
你可能想要一个条件来确保用户只能删除他/她自己的评论..
关于php - 使用php删除mysql中id最高的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40021770/