if ($_SERVER["REQUEST_METHOD"]=="POST") {
$updatedate=$_POST['date'];
$updateday=$_POST['day'];
$updateplace=$_POST['place'];
$updatehighlight=$_POST['highlight'];
$updatediscription=$_POST['discription'];
$sqlupdate="UPDATE $tableselect SET entrydate='$updatedate',day='$updateday',place='$updateplace',highlight='$updatehighlight',discription='$updatediscription' WHERE id ='$getid'";
$sqlquery=mysqli_query($db,$sqlupdate);
if (!mysqli_query($db,$sqlquery)) {
echo "error " .$sqlquery. "<br>" . mysqli_error($db);
}
}
它显示此错误:
您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在第 1 行“1”附近使用的正确语法
如何解决这个错误?
非常简单,您运行查询函数两次,这就是为什么您会得到
1
。
那么
$sqlquery=mysqli_query($db,$sqlupdate);
if (!mysqli_query($db,$sqlquery)) {...}
需要更改为
$sqlquery=mysqli_query($db,$sqlupdate);
if(!$sqlquery){...}
第一个被执行,并且 (if)
!
运算符也会触发查询函数,因为它是 TRUE,如“(if)not failed”中所示。
“对于其他成功的查询,mysqli_query() 将返回 TRUE。”
也参数化您的查询,您可以接受 SQL 注入。