¿Eliminar una matriz que no funciona con PDO SQL?

Aug 26 2020

Han pasado 3 horas que estoy tratando de eliminar una fila en mysql basada en una identificación ... Parece simple, ¿verdad?

Teniendo en cuenta que la matriz puede contener varios valores: $ resultado = Matriz ([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);
    }

Esto parece correcto, ¿no? error: PDOStatement :: execute () espera que el parámetro 1 sea una matriz, cadena dada

¡Cualquiera, cualquiera, cualquier pista es bienvenida! muchas gracias desde Francia!

Respuestas

4 Phil Aug 26 2020 at 08:42

Suponiendo que $resultes una matriz unidimensional como

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

Eso significa que está intentando llamar $stmt->execute()con un solo valor de cadena donde requiere una matriz.

Te sugiero que uses bindParamen su lugar

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