[RESOLU] UPDATE RETORS

Eléphant du PHP | 345 Messages

05 août 2021, 23:42

Bonjour,
l'update qui suit ne fonctionne pas et je n'arrive pas à situer le problème.
$sql = "SELECT qte_decouverte, decouverte FROM membres WHERE id=:id";
$pdostat = $bdd->prepare($sql);
$pdostat->bindvalue(':id',$id ,PDO::PARAM_INT);
$pdostat->execute();
$resultat = $pdostat->fetch();
if ($pdostat->rowCount() > 0)
//if (!empty($resultat ))
	{ 	
$qte_decouverte = $resultat['qte_decouverte'];
$decouverte = $resultat['decouverte'];
}
if($qte_decouverte === 0)
{
$sql = "UPDATE membres SET decouverte = '/objets/rien.gif' WHERE id =:id";
$pdostat = $bdd->prepare($sql);
$pdostat->bindvalue(':id',$id ,PDO::PARAM_INT);
$pdostat->execute();
}
header('Location:page_membre.php');
exit;

Mammouth du PHP | 2703 Messages

05 août 2021, 23:46

il faut debugger, ajouter des echo pour savoir si cela passe bien dans le if de l'update. si non, ajouter un
var_dump($qte_decouverte);
pour vérifier le contenu de la variable testée.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

06 août 2021, 09:03

Pour faciliter le debugage des requêtes PDO, n'hésite pas à activer la gestion d'erreur sur PDO::ERRMODE_WARNING
https://www.php.net/manual/fr/pdo.error-handling.php
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 345 Messages

06 août 2021, 10:43

Voilà, j'ai trouvé la coquille:
if($qte_decouverte === "0")