Erreur lors vérif entrée existante dans bdd
- Accueil
- Forum
- Programmation
- PHP
- Erreur lors vérif entrée existante dans bdd

Azee Le 6 juillet 2016 à 02:01 (Édité le 25 janvier 2019 à 17:51)
J'ai suivi le tuto de PrimFx concernant l'espace membre et je l'ai adapté à ma sauce, j'ai repris le code concernant la vérification dans la base de donnée d'une entrée déjà existante mais j'ai une erreur.
igne 53 : $db_read_pseudo = $db -> prepare("SELECT pseudo FROM membres WHERE pseudo = ?");Voici un screenshot de l'erreur que j'ai :
ligne 54 : $db_read_pseudo -> execute(array($pseudo));
igne 55 : $pseudo_exist = $db_read_pseudo -> rowCount();


twinny Le 6 juillet 2016 à 02:53 (Édité le 1 janvier 1970 à 01:00)
ta un " : " devant db_read_pseudo ligne 54

Azee Le 6 juillet 2016 à 02:56 (Édité le 1 janvier 1970 à 01:00)

twinny Le 6 juillet 2016 à 03:01 (Édité le 1 janvier 1970 à 01:00)

Azee Le 6 juillet 2016 à 03:04 (Édité le 1 janvier 1970 à 01:00)
<?php
//Connexion à la base de données
try{
$host = "host:localhost;";
$base = "espace_membres";
$user = "***";
$mdp = "***";
$db = new PDO('mysql:'.$host.''.$base.';charset=UTF8;', ''.$user.'', ''.$mdp.'');
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connexion à la base de donnée réussie";
}catch(Exception $e){
echo "Aie, erreur : $e->getMessage";
}
//Traitement du formulaire
//On test si le formulaire à été envoyé
if(isset($_POST['submit'])){
//On test si les variables ne sont pas vides
if(!empty($_POST['pseudo']) AND !empty($_POST['mail1']) AND !empty($_POST['mail2']) AND !empty($_POST['password1']) AND !empty($_POST['password2'])){
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail1 = htmlspecialchars($_POST['mail1']);
$mail2 = htmlspecialchars($_POST['mail2']);
$password1 = sha1(htmlspecialchars($_POST['password1']));
$password2 = sha1(htmlspecialchars($_POST['password2']));
//Verif pseudo
if(strlen($pseudo) < 255){
$db_read_pseudo = $db -> prepare("SELECT pseudo FROM membres WHERE pseudo = ?");
$db_read_pseudo -> execute(array($pseudo));
$pseudo_exist = $db_read_pseudo -> rowCount();
//$pseudo_exist -> closeCursor();
if($pseudo_exist == 0){
//$pseudo_info_ok == true;
echo "Yessssssssssss";
}
}

Ranarxhag Le 8 juillet 2016 à 10:52 (Édité le 1 janvier 1970 à 01:00)
Pour que ça fonctionne et si tu veux garder la manière que tu utilises pour pouvoir modifier plus facilement la configuration, il faut faire comme ceci :
<?php
$host = "localhost";
$base = "espace_membres";
$user = "***";
$mdp = "***";
$db = new PDO('mysql:host='.$host.';dbname='.$base.';charset=UTF8;', ''.$user.'', ''.$mdp.'');
$db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connexion à la base de donnée réussie";
}catch(Exception $e){
echo "Aie, erreur : $e->getMessage";
}
Tu verras que j'ai simplement changé host: par host= et que j'ai rajouté dbname=
Ranarxhag