I need to delete all rows where id is in a comma delimited string.
$ids = '1,2,3,4,5';
$sql = "delete from images where id in(:aid)";
$st = $db->prepare($sql);
$st->execute([
":aid" => $ids
]);
Result - only one row is deleted.
I need to delete all rows where id is in a comma delimited string.
$ids = '1,2,3,4,5';
$sql = "delete from images where id in(:aid)";
$st = $db->prepare($sql);
$st->execute([
":aid" => $ids
]);
Result - only one row is deleted.
use explode() along with implode()
$st->execute([
":aid" => "'".implode("','", explode(",",$ids))."'"
]);
Or use FIND_IN_SET()
$sql = "Delete from images WHERE FIND_IN_SET(`id`, :aid)";
$st = $db->prepare($sql);
$st->execute([
":aid" => $ids
]);