删除无法使用PDO SQL的阵列?

问题描述

已经3个小时了,我试图根据id在MysqL删除一行。 看起来很简单吧?

考虑到数组可能包含多个值: $ result =数组([3] => 4_Couture)

Array ( [3] => 4_Couture )
$sql_delete = "DELETE FROM users_resumes WHERE id_training_key = ? ";
$stmt_delete= $pdo->prepare($sql_delete);
foreach($result as $r) {
            $stmt_delete->execute($r);
    }

这似乎对不对? 错误:PDOStatement :: execute()期望参数1为数组,给出字符串

任何,任何线索都非常欢迎!非常感谢法国!

解决方法

假设$result是一维数组,例如

$result = [ 3 => '4_Couture' ];

这意味着您尝试使用需要一个数组的单个字符串值调用$stmt->execute()

我建议您改用bindParam

$stmt_delete = $pdo->prepare("DELETE FROM users_resumes WHERE id_training_key = ?");
$stmt_delete->bindParam(1,$r);
foreach ($result as $r) {
  $stmt_delete->execute();
}