Php 我得到mysqli错误1064,但我不知道为什么

Php 我得到mysqli错误1064,但我不知道为什么,php,mysql,sql,mysql-error-1064,Php,Mysql,Sql,Mysql Error 1064,我想发布来自android客户端的数据,我用postman测试了它,状态代码是200。但我有一个mysqli错误,它是: 错误: 1064您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“WHERE id=”附近要使用的正确语法 我不知道我的代码有什么问题,选择的零件工作正常 <?php $id = $_POST['id']; $isLiked = $_POST['isLiked']; if (mysqli_connect_errno()) {

我想发布来自android客户端的数据,我用postman测试了它,状态代码是200。但我有一个mysqli错误,它是:

错误:

1064您的SQL语法有错误;检查与您的MariaDB服务器版本相对应的手册,以了解第1行“WHERE id=”附近要使用的正确语法

我不知道我的代码有什么问题,选择的零件工作正常

<?php


$id = $_POST['id'];
$isLiked = $_POST['isLiked'];


if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}


$connection = mysqli_connect($host, $username, $password, $database);
$query = "SELECT likes FROM posts WHERE id=$id";
$result = mysqli_query($connection, $query);



$array = mysqli_fetch_assoc($result);
$likes = $array['likes'];

if ($isLiked == true) {

    $updateQuery = "UPDATE posts SET likes=" . $likes++ . " WHERE id=$id";

} else {

    $updateQuery = "UPDATE posts SET likes=" . $likes-- . " WHERE id=$id";

}


if (!$connection->query($updateQuery)) {
    echo "query failed: (" . $connection->errno . ") " . $connection->error;
}

mysqli_query($connection, $updateQuery);
if (!$connection->query($updateQuery)) {
    echo "query failed: (" . $connection->errno . ") " . $connection->error; // It returns that 1064 error
}

mysqli_query($connection, $updateQuery);

我看到3个可能的错误

第一个错误是,$id可以为空

第二个错误可能是$likes++need be++$likes,因为在变量的后面没有用++求和,我指的也是-$likes

第三个错误是您的代码容易受到MySQL注入的攻击,我建议您做一个准备好的声明


链接到准备好的语句示例和说明:

您的$id可能为空。您的代码易受sql注入攻击。请看一看。不要将值直接放入SQL字符串中。使用参数/准备好的语句。另外,您不需要在代码中计算它。仅当多个事件同时发生时才会导致问题。请阅读:另请阅读:其代码易受sql注入攻击-@robbyoconnorchanged@deoncagadoes你没有链接到任何东西:@robbyoconnor现在好了吗?@Deoncadoes,不,学校是一个可怕的资源。