我在我的mysql数据库数据库中添加了删除功能,但是当我点击提交按钮时,我收到此错误消息“对用户''删除命令''@ localhost'对于表'人'我看了一下用户root看到它已添加所有priveleges请帮助这是我正在努力的代码
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "yoga";
$conn = new mysqli($servername, $username, $password, $dbname);
if($conn -> connect_error){
die("connection failed: ".$conn -> connect_error);
}
if(isset($_POST['delete'])){
mysql_query("DELETE FROM `yoga`.`people` WHERE `people`.`id` = '$_POST[deleteId]' ") or die(mysql_error());
}
?>
答案 0 :(得分:0)
根据错误消息,您的用户名为空,这意味着不会传递用户名值
&#34; DELETE命令被拒绝给用户&#39;&#39; localhost&#39;对于表&#39;人&#34;
如果是由于权限不足。 检查
的结果SHOW GRANTS FOR 'root'@'localhost';
确保您拥有正确的权限
GRANT DELETE ON `yoga`.`people` TO 'root'@'localhost';
or
GRANT DELETE ON `yoga`.* TO 'root'@'localhost';
FLUSH PRIVILEGES;
有时也会发现在phpmyadmin中运行的查询可能无法在服务器中运行。要在任何平台上完成这项工作,请尝试这样做(省略数据库名称)
schema_name.table_name 到 table_name
DELETE FROM people WHERE `people`.`id` = '$_POST[deleteId]' "
答案 1 :(得分:0)
您没有使用您创建的连接。将查询行更改为:
$conn->query("DELETE FROM `yoga`.`people` WHERE `people`.`id` = '$_POST[deleteId]' ") or die($conn->error);
我还建议你使用预准备语句,因为现在你很容易受到sql注入。