Php 更新中的SQL语法错误
这段代码将从另一个php代码接收id和区域,我确信它正确地接收了它们。此代码用于更新id等于用户输入的id的区域。我运行了代码,从this语句中得到了SQL语法错误Php 更新中的SQL语法错误,php,sql,Php,Sql,这段代码将从另一个php代码接收id和区域,我确信它正确地接收了它们。此代码用于更新id等于用户输入的id的区域。我运行了代码,从this语句中得到了SQL语法错误 $sql = "UPDATE complain SET area = ".$area."WHERE num = ".$id.""; 有人知道怎么了吗 <?php $area = $_GET['area']; $id = $_GET['id']; echo $area; echo $id; //$Area = $_P
$sql = "UPDATE complain SET area = ".$area."WHERE num = ".$id."";
有人知道怎么了吗
<?php
$area = $_GET['area'];
$id = $_GET['id'];
echo $area;
echo $id;
//$Area = $_POST['variable'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "sfa";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "UPDATE complain SET area = ".$area."WHERE num = ".$id."";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
在Where子句之前添加一些空格,使您的查询
UPDATE complain SET area = ".$area." WHERE num = ".$id."
“$区域”之间缺少空格。其中
结果是
UPDATE complain SET area = 2WHERE num = 0815
尝试使用此查询。工作正常,并更新记录-
“更新投诉集区域='。$area'。其中num='。$id.'”以下查询应该可以工作:
$sql = "UPDATE complain"."SET area = $area".
"WHERE num = $id";
希望有帮助 我猜,
$area
是一个字符串,而不是整数。然后它应该用单引号包装。真正的问题是WHERE
关键字前面没有空格。使其成为…SET area='“$area.”其中…
另外,您应该使用准备好的语句,您很容易受到SQL注入攻击。