Eliminare un array che non funziona con PDO SQL?

Aug 26 2020

sono passate 3 ore che sto cercando di eliminare una riga in mysql in base a un ID ... Sembra semplice, vero?

Considerando che l'array potrebbe contenere diversi valori: $ 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);
    }

Questo sembra essere giusto no? errore: PDOStatement :: execute () prevede che il parametro 1 sia un array, stringa data

Qualsiasi indizio è molto gradito! grazie mille dalla Francia!

Risposte

4 Phil Aug 26 2020 at 08:42

Supponendo che $resultsia un array unidimensionale come

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

Ciò significa che stai tentando di chiamare $stmt->execute()con un singolo valore di stringa in cui richiede un array.

Ti suggerisco bindParaminvece di usare

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