您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在“1”附近使用的正确语法

问题描述 投票:0回答:1
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”附近使用的正确语法

如何解决这个错误?

php mysql mysqli
1个回答
5
投票

非常简单,您运行查询函数两次,这就是为什么您会得到

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 注入。

© www.soinside.com 2019 - 2024. All rights reserved.