2014-04-18 104 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