Я показываю список в моем проекте, данные из базы данных. Я использую php pdo для получения данных. Теперь я хочу иметь функцию удаления нескольких записей, используя флажок, который я делаю. этот учебник я делаю ответ Джона, но я получаю сообщение об ошибке
Warning: PDOStatement::execute() expects parameter 1 to be array, string given in
линия $stmt->execute($id);
это весь код
function ImageGalleryDelete(){
global $dbh;
if(!empty($_POST['checkbox'])){
$bigimage = $_POST['checkbox'];
$stmt = $dbh->prepare("DELETE FROM imagegallery WHERE id = ?");
foreach ($bigimage as $id)
$stmt->execute($id);
}else{
echo "<script type='text/javascript'>alert('big image is empty');
window.location='dashboard.php';
</script>";
exit;
}
}
почему я получаю эту ошибку? Любая помощь будет оценена ..
Подсказка уже указана в сообщении об ошибке, передайте массив в правильном формате:
$bigimage = $_POST['checkbox'];
$stmt = $dbh->prepare("DELETE FROM imagegallery WHERE id = :id");
// ^ named placeholder
foreach ($bigimage as $id) {
$stmt->execute(array(':id' => $id));
// ^ put an key value pair array inside with the designated named placeholder
// along with the value
}
То, как я обычно пишу это:
$stmt = $dbh->prepare("DELETE FROM imagegallery WHERE id = :id");
foreach ($bigimage as $id) {
$stmt->execute(array(":id" => $id));
}