我没有发现任何错误.此代码很好.完美地更新了我的数据.但显示了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'附近使用

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '1' at line 1

很简单,您要运行两次查询功能,这就是为什么要获取1的原因.

Real simple, you're running the query function twice, that's why you're getting 1.

所以

$sqlquery=mysqli_query($db,$sqlupdate);
            if (!mysqli_query($db,$sqlquery)) {...}

需要更改为公正

$sqlquery=mysqli_query($db,$sqlupdate);
            if(!$sqlquery){...}

第一个被执行,并且(if)!运算符也将触发查询函数,因为它为TRUE,如(if)not failing".

The first gets executed, and the (if)! operator will also trigger the query function since it was TRUE, as in "(if)not failing".

对于其他成功的查询,mysqli_query()将返回 TRUE ."

"For other successful queries mysqli_query() will return TRUE."

还对查询进行参数设置,您可以进行SQL注入.

Parametrize your query also, you're open to an SQL injection.