Gui*_*ade 1 php mysql database sql-delete
我正在研究一个非常简单的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');
?>
Run Code Online (Sandbox Code Playgroud)
根据DELETE语法手册:
子查询
您无法从表中删除并从子查询中的同一表中进行选择.
所以你应该这样做:
DELETE FROM minichat ORDER BY id DESC LIMIT 1
Run Code Online (Sandbox Code Playgroud)
你可能想要一个条件来确保用户只能删除他/她自己的评论..