2014-04-18 56 views
0

我正在使用bellow MYSQL查询从表中删除单个记录,对我来说完美的工作,但如何使用IN运算符编写多个记录。使用PHP PDO扩展删除MySQL数据库中的多行

$sql = "DELETE FROM reg WHERE id = :id"; 
$query = $this->db->prepare($sql); 
$query->execute(array(':id' => $id)); 

比如我有一个从阵列像$id = array(23,24); ID和我有TREID与像波纹管循环,但没有奏效:(

for($i=0; $i<count($id); $i++) { 
    $id = $id[$i]; 
    $sql = "DELETE FROM $table_name WHERE id = :$id"; 
    $query = $this->db->prepare($sql); 
    $query->execute(array(':id' => $id)); 

} 

我希望你明白我的问题,希望您能帮助我。

感谢。

+0

你是内环路过写作$ ID,以便使用'$查询 - > EXEC ute(array(':id'=> $ id [$ i]));'并移除行'$ id = $ id [$ i];' –

回答

1
for($i=0; $i<count($id); $i++) { 
    $sql = "DELETE FROM $table_name WHERE id = :id"; 
    $query = $this->db->prepare($sql); 
    $query->execute(array(':id' => $id[$i])); 
} 
+0

非常感谢您的帮助:) –

+0

供将来参考向答案中添加几个文字文字通常会很有帮助,并解释您的解决方案如何/为何解决该问题。 (请记住,人们会在未来几年内通过搜索引擎发现这个问题) – Flexo