par
ynx » 10 oct. 2014, 17:01
Salut,
Deux solutions possibles :
- soit tu modifies dans ta bdd le champ pseudo pour lui ajouter la contrainte UNIQUE, PDO te retourneras donc une erreur lors de l’exécution de la requête update avec un pseudo existant
- soit tu exécutes une première requête SELECT id FROM membres WHERE pseudo = ? et tu vérifies si celle-ci te retourne un résultat ou non pour déterminer l'existence du pseudo
Au passage, la fonction mysql_error() appartient à l'API Mysql et n'a rien à voir avec PDO. Si tu veux traiter les erreurs PDO, modifie ton code comme ceci :
if ($addcompte = $bdd->prepare("INSERT INTO `membres` VALUES ('', ?, ?, ?, ?)") === FALSE) {
// erreur de syntaxe sql
var_dump($addcompte->errorInfo());
}
if ($addcompte->execute(array($pseudo, $motdepasse, $email, '1')) === FALSE) {
// erreur lors de l'execution de la requête
var_dump($addcompte->errorInfo());
}
Bonne journée
Salut,
Deux solutions possibles :
- soit tu modifies dans ta bdd le champ pseudo pour lui ajouter la contrainte UNIQUE, PDO te retourneras donc une erreur lors de l’exécution de la requête update avec un pseudo existant
- soit tu exécutes une première requête SELECT id FROM membres WHERE pseudo = ? et tu vérifies si celle-ci te retourne un résultat ou non pour déterminer l'existence du pseudo
Au passage, la fonction mysql_error() appartient à l'API Mysql et n'a rien à voir avec PDO. Si tu veux traiter les erreurs PDO, modifie ton code comme ceci :
[php]
if ($addcompte = $bdd->prepare("INSERT INTO `membres` VALUES ('', ?, ?, ?, ?)") === FALSE) {
// erreur de syntaxe sql
var_dump($addcompte->errorInfo());
}
if ($addcompte->execute(array($pseudo, $motdepasse, $email, '1')) === FALSE) {
// erreur lors de l'execution de la requête
var_dump($addcompte->errorInfo());
}
[/php]
Bonne journée