我一直收到以下错误:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 在第1行'order WHERE id ='49''附近
我不明白造成这种情况的原因。我检查了任何语法错误,查看了mysqli文档,并在Stack Overflow上查找了类似的帖子,没有运气。我到底做错了什么?
这是我正在使用的代码:
<?php
if (isset($_GET['order_id']) && $_GET['order_id'] != "")
{
$delete_id = $_GET['order_id'];
echo "<p>$order_id</p>";
$conn = new mysqli($server, $user, $password, $database);
$sql = "DELETE FROM order WHERE id = '" . $delete_id . "';";
$result = mysqli_query($conn, $sql) or die(mysqli_error($conn));
mysqli_close($conn);
}
?>
答案 0 :(得分:1)
order
是MySQL关键字。这样命名你的表并不是一个好主意,但如果必须这样,你应该用反引号(`)来逃避它。
您的SQL查询应该是:
$sql = "DELETE FROM `order` WHERE id = '" . $delete_id . "';";
您还应该使用预准备语句,否则您的代码很容易受到SQL注入攻击。
答案 1 :(得分:-1)
尝试在'
周围不使用单引号($delete_id
),并使用prepared statements。