Excluir uma matriz que não funciona com PDO SQL?

Aug 26 2020

já faz 3 horas que estou tentando deletar uma linha no mysql com base em uma id ... Parece simples, certo?

Levando em consideração que a matriz pode conter vários valores: $ 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);
    }

Isso parece estar certo, não? erro: PDOStatement :: execute () espera que o parâmetro 1 seja array, string fornecida

Qualquer, qualquer, qualquer pista é muito bem-vinda! muito obrigado da França!

Respostas

4 Phil Aug 26 2020 at 08:42

Supondo que $resultseja uma matriz unidimensional como

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

Isso significa que você está tentando chamar $stmt->execute()com um único valor de string em que é necessário um array.

Eu sugiro que você use ao bindParaminvés

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