无法解决从url接收数据时的sql注入错误


unable to solve the sql injection error while recieving data from url

php代码

    <?php
    require_once "../model/db_helpers.php";
    $movie_id=mysqli_real_escape_string($obj->conn,$_GET['id']);
    //echo $movie_id;
    $watch=mysqli_real_escape_string($obj->conn,$_GET['watch']);
    $result= $obj->select("movie_views","all_movies","movie_id='$movie_id'");
    //print_r($result);
    if($watch =="true")
    {
        $result[0]->movie_views ++;
        $movie_views= $result[0]->movie_views;
        $update= $obj->update("all_movies","movie_views='$movie_views'","movie_id='$movie_id'");
        //print_r($update);
    }
?>
<script>
    //window.location.href="showcontent.php?id=<?php echo $movie_id; ?>";
</script>

在上面的代码中,除了更新查询之外,所有的东西都是可用的。我需要更新数据库中的链接点击,在那里我需要在查询中给出id(通过url传递的数据)作为条件。

我知道我必须使用mysqli_real_eascape_string来避免sql注入错误。但我还是莫名其妙地犯了以下错误。

错误

您的SQL语法有错误;查看手册与您的MySQL服务器版本相对应,以便使用正确的语法在第1行的"附近

请提供一个充分解释我哪里出了问题的答案,因为我是这个主题的新手。

谢谢。

您拼错了变量名

更改
$sql="更新$table集合$records,其中$scondition"

$sql="更新$table集合$records,其中$condition"

因此生成的查询是update all_movies set movie_views='X' where"
它没有条件