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”的正确语法。
发布于 2017-04-26 00:22:54
非常简单,您要运行查询函数两次,这就是获得1的原因。
所以
$sqlquery=mysqli_query($db,$sqlupdate);
if (!mysqli_query($db,$sqlquery)) {...}需要更改为
$sqlquery=mysqli_query($db,$sqlupdate);
if(!$sqlquery){...}第一个被执行,并且(if)!运算符也将触发查询函数,因为它是真的,如“(If)没有失败”。
“对于其他成功的查询,mysqli_query()将返回TRUE__。”
也可以将查询参数化,您可以使用SQL注入。
https://stackoverflow.com/questions/43622891
复制相似问题