vue
Darkevil Messages : 221 | Et c'est encore moi. Je voulais savoir si quelqu'un savait comment faire une recherche dans la BDD avec PDO (pas le plus facile pour apprendre). Je vous montre mon début de code: <?php En fait non, c'est tout le code . Cette page sert de gestionnaire entre le formulaire et la BDD logique. Le problème est que pour que l'inscription ait lieu, il faut que dans la BDD, il n'y ait ni le mail, ni le pseudo d'utilisé. Cela à l'air simple, mais en PDO, c'est galère pour un débutant (oui, je suis taré de commencer par ça ). En mysql, on peut utliser mysql_num_rows, très efficace, mais en PDO, pour un SELECT, on peut utiliser PDO::columnCount(). En fait, ce que j'essaye de faire, c'est que si $_POST['user'] existe dans la BDD, le script me met la valeur 1, en revanche, s'il ne trouve pas, il met 0. Et avec moi, ça ne marche pas, il n'affiche rien . Quelqu'un à une autre idée?? Cordialement, Darkevil |
dimanche 26 février 2012
| |
Greg Messages : 67 | En ajoutant un index unique sur tes champs dans la base de données, tu pourras être sûr que deux utilisateurs n'essaieront pas de créer un compte avec le même mail. D'autre part, la méthode PDOStatement::columnCount compte le nombre de colonnes, pas le nombre d'enregistrements, utilises plutôt PDOStatement::rowCount. Et pour finir, si tu utilises un autre moteur que MySQL, il est possible que PDOStatement::rowCount renvoie toujours 0, en particulier avec le moteur SQLite. |
lundi 27 février 2012
| |
Darkevil Messages : 221 | Oki, merci pour l'astuce ( je gère pas trop le coté Mysql). Il me semble que PDOStatement::rowCount() ne fonctionne pas avec SELECT, seulement avec UPDATE, INSERT et DELETE (première chose que j'ai test ). Par contre, de quoi veux tu parler quand tu dis index unique? Merci pour tout |
lundi 27 février 2012
| |
Greg Messages : 67 | Si PDOStatement::rowCount te renvoie 0 sur une requête SELECT en utilisant MySQL, c'est parce que la requête ne renvoie effectivement aucun enregistrement. PDOStatement::columnCount renverra toujours la même valeur si tu ne modifies pas tes colonnes sélectionnées : le nombre de colonnes de la requête. Dans tes deux requêtes plus haut, il renverra toujours 1. Un index unique est un index de recherche qui assure l'unicité de la valeur d'un champ ou d'un groupe de champs. Dans ton cas, ils se créeent avec la requête DDL suivante : CREATE UNIQUE INDEX `UNQ_USER` |
mardi 28 février 2012
| |
Darkevil Messages : 221 | Merci beaucoup Greg. Tu t'y connais un peu en JS? |
mardi 28 février 2012
| |
Lucas Messages : 830 | Autant au niveau PHP j'ai de grandes lacunes, autant si tu as des questions à propos du js je te répondrai volontiers |
mardi 28 février 2012
| |
Darkevil Messages : 221 | =) merci Lucas, jte reco par MP =) |
mardi 28 février 2012
|
Aperçu (pas encore publié) | |
Kommunauty © Tous droits réservés
Contact /
Charte & Mentions légales /
Hebergement gratuit /
Bon plan hébergement /
Aide B2i