PHP中的SQL查询报告自身成功,但未成功

直升机场

我有以下查询,这真是令人难以置信,它是如何工作的。注意“ INSERT INTO contents”中的拼写错误。即使查询具有错误的参数(例如“内容”),它也会报告自己成功。无论我做什么,都不会插入到表中。

$connect = mysqli_connect("localhost", "user", "password", "database");

function savevideos($my_videos,$connect)

{
if(isset($my_videos)){

     if(is_array($my_videos))
     {
          foreach($my_videos as $row => $value)
          {

               $item_id = mysqli_real_escape_string($connect, $value['v_id']);
               $item_name = mysqli_real_escape_string($connect, $value['v_name']);
               $item_playlist = mysqli_real_escape_string($connect, $value['p_id']);
               $sql = "INSERT INTO conwtents(id, name, playlist) VALUES ('".$item_id."', '".$item_name."', '".$item_playlist."')";

               mysqli_query($connect, $sql);
               if(!$sql){
               die("error ".mysqli_error());
               echo "query error";
                }
                else{echo "Query successful";}
                mysqli_close($connect);
          }
     }
}
}
scaisEdge:

您检查了错误的状况

 if(!$sql){  // this is alway true  and you don't check the query execution

您不应该检查$ sql而是mysqli_query()

if(mysqli_query($connect, $sql)) {
 ....
};

无论如何,您应该在sql中使用php,否则可能会出现sqlinjection的风险。为避免这种情况,您应该查看准备好的语句和绑定参数

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章