搜尋

首頁  >  問答  >  主體

php - delete...in()刪除語句預處理與不預處理運行結果不一樣

在使用delete from XXX where id in(XXX)進行批次刪除的時候,使用PDO預處理的時候,每次只能刪除一筆記錄,程式碼如下:

<?php
require_once 'conn.php';
$items=$_POST['item'];
$itemsString=implode(",",$items);
$sql=$db->prepare("delete from tb_affiche where id in(?)");
$sql->bindParam(1, $itemsString);
$sql->execute();
?>

在不使用預處理的時候就可以正常運行,批次刪除多筆記錄,程式碼如下:

<?php 
require_once 'conn.php';
$items=$_POST['item'];
$itemsString=implode(",",$items);
$sql=$db->exec("delete from tb_affiche where id in($itemsString)");
?>

不知道哪裡出了問題,大神們求解

曾经蜡笔没有小新曾经蜡笔没有小新2777 天前913

全部回覆(1)我來回復

  • 高洛峰

    高洛峰2017-05-24 11:34:31

    把()帶到 bindParam看下

    回覆
    0
  • 取消回覆