问题描述
已经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();
}