Hapus array yang tidak bekerja dengan PDO SQL?

Aug 26 2020

Sudah 3 jam saya mencoba menghapus baris di mysql berdasarkan id ... Sepertinya sederhana bukan?

Mempertimbangkan bahwa array mungkin berisi beberapa nilai: $ result = Array ([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);
    }

Ini sepertinya benar, bukan? error: PDOStatement :: execute () mengharapkan parameter 1 menjadi array, string diberikan

Setiap, apapun, petunjuk apapun sangat diterima! terima kasih banyak dari Prancis!

Jawaban

4 Phil Aug 26 2020 at 08:42

Dengan asumsi $resultadalah array satu dimensi seperti

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

Itu berarti Anda mencoba memanggil $stmt->execute()dengan nilai string tunggal yang memerlukan sebuah array.

Saya sarankan Anda menggunakan bindParamsebagai gantinya

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