Page 1 sur 1

updape mysql pdo

Posté : 03 févr. 2020, 19:28
par alf78fr
Bonsoir,
voici mon problème:
je veux modifier une base de données

Code : Tout sélectionner

$data = [ 'id' => $_POST['id'], 'accroche' => $_POST['accroche'], ]; $sql = "UPDATE Biens SET accroche=:accroche, WHERE id=:id"; $req = $bdd->prepare($sql); $req->execute($data);
je n'ai pas de modification de ma base de donnée et pas de message d'erreur :cry:

Merci de votre aide

Re: updape mysql pdo

Posté : 03 févr. 2020, 20:02
par or 1
il devrait pourtant y avoir un message d'erreur vu que la requete sql est incorrecte.
voir https://www.php.net/manual/fr/pdo.errorinfo.php

Re: updape mysql pdo

Posté : 03 févr. 2020, 20:08
par alf78fr
non je confirme

Re: updape mysql pdo

Posté : 03 févr. 2020, 20:40
par alf78fr
non je confirme
si je mets:

Code : Tout sélectionner

print_r($db->errorInfo());

voici le resultat: )

Code : Tout sélectionner

Array ( [0] => 00000 [1] => [2] =>

Re: updape mysql pdo

Posté : 03 févr. 2020, 20:44
par or 1
"Si vous créez un objet PDOStatement avec la fonction PDO::prepare() ou la fonction PDO::query() et que vous invoquez une erreur sur le gestionnaire de requête, PDO::errorInfo() ne retournera pas l'erreur depuis le gestionnaire de requête. Vous devez appeler la fonction PDOStatement::errorInfo() pour retourner les informations sur l'erreur pour une opération exécutée sur un gestionnaire de requête particulier. "

Re: updape mysql pdo

Posté : 03 févr. 2020, 20:59
par alf78fr
même problème avec

Code : Tout sélectionner

$sql = "UPDATE Biens SET (accroche) VALUES ('".$_POST['accroche']."') WHERE id = '$id'"; $req = $bdd->prepare($sql); $req->execute(); [code]

Re: updape mysql pdo

Posté : 03 févr. 2020, 21:05
par or 1
d'après https://dev.mysql.com/doc/refman/8.0/en/update.html , la syntaxe de l'insert ne s'applique pour un update.
non, il faut relire "UPDATE Biens SET accroche=:accroche, WHERE id=:id" et corriger l'erreur.

Re: updape mysql pdo

Posté : 04 févr. 2020, 17:48
par alf78fr
résolu