IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Problème sur unSELECT via PDO [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Par défaut Problème sur unSELECT via PDO
    Bonjour à tous et à toutes,

    Dans le code suivant, j'insère un user dans ma Base de données via un login et pass du formulaire.
    Par contre dans mon select, je ne parvient pas à récupérer mon user.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <form name="form1" id="origineForm" style="margin-top:50px" method="post" action="" onsubmit='return verif_nom(document.form1.login.value);'>
    		Login 
    		<label for="login"><input type="text" value="" size=20 maxlength=20 name="login"></input></label>
    		Password
    		<label for="pass"><input type="password" value="" size=20 maxlength=20 name="pass"></input></label>
    		<input type="submit" value="sauvegarder" name="valider" class="submit" />		 		 
    	</form>
     
    	<?php 
     
    		$bdd=connect();
    		$login=$_POST['login'];
    		$pass=$_POST['pass'];
     
    		$query=("INSERT INTO auth(auth_id,auth_login,auth_pass) VALUES(:id,:login,:pass)");
    		$stm=$bdd->prepare($query);
    		$stm->bindValue(':id', 'NULL');
    		$stm->bindValue(':login', $login);
    		$stm->bindValue(':pass', $pass);
    		$stm->execute();
     
    		$query=null;
     
    		$sel=$bdd->prepare("SELECT * FROM auth WHERE auth_login='".$login."' AND auth_pass='".$pass."'");
    		$sel->setFetchMode(PDO::FETCH_OBJ);
    		while($row = $sel->fetch()) {
    			echo $row->auth_login;
    			echo $row->auth_pass;
    		}
     
    	?>
    Merci d'avance.
    Transact.

  2. #2
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Salut

    La requête n'a pas été exécuté.

    Aussi, tu prévois de faire une boucle (un while) sur cette requête.
    Or, théoriquement un login et un mot de passe doit correspondre un 1 seul et unique user (1 Identifiant d'ailleurs).
    Du coup, faire une boucle ne sert à rien.

    Mais encore, utilise les requête préparées comme tu l'a fais pour l'insertion, ça t'éviteras des problèmes.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    tu prépares une requête mais tu l'exécutes pas, d'ailleurs rien n'est en paramètre, ton code est soumis au injection, et si tu faire faire un fetch en object fait fetchObject()

  4. #4
    Membre chevronné
    Avatar de Rony Rauzduel
    Homme Profil pro
    En formation Architecte logiciel
    Inscrit en
    Décembre 2008
    Messages
    638
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : En formation Architecte logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2008
    Messages : 638
    Par défaut
    En modifiant mon code de la sorte, j'obtiens le résultat voulu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		$sel=$bdd->prepare("SELECT * FROM auth WHERE auth_login='".$login."' AND auth_pass='".$pass."'");
    		$sel->execute();		
     
    		$result = $sel->fetch(PDO::FETCH_OBJ);
     
     
    		print $result->auth_login;
    		print("\n");
    		print $result->auth_pass;
    		print("\n");
    Merci encore.
    Transact.

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    Citation Envoyé par transact Voir le message
    En modifiant mon code de la sorte, j'obtiens le résultat voulu

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    		$sel=$bdd->prepare("SELECT * FROM auth WHERE auth_login='".$login."' AND auth_pass='".$pass."'");
    		$sel->execute();		
     
    		$result = $sel->fetch(PDO::FETCH_OBJ);
     
     
    		print $result->auth_login;
    		print("\n");
    		print $result->auth_pass;
    		print("\n");
    Merci encore.
    Transact.
    ca n'empêche pas le fait que ton code n'est pas bon.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de recursivité sur download via ftp
    Par kciope dans le forum VB.NET
    Réponses: 1
    Dernier message: 03/06/2011, 14h02
  2. [MySQL] Problème sur un UPDATE via PDO
    Par Rony Rauzduel dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/01/2011, 10h16
  3. [AC-2007] problème sur requête alimentant une zone de liste via VBA
    Par Rémi GAUDINAT dans le forum VBA Access
    Réponses: 1
    Dernier message: 15/06/2010, 11h17
  4. [WD14] Importation Excel via OLE DB : Problème sur critère date
    Par Genohunter dans le forum WinDev
    Réponses: 2
    Dernier message: 16/09/2009, 18h03
  5. Problème connection à Linux sur Windows via Putty
    Par xionis dans le forum Réseau
    Réponses: 2
    Dernier message: 13/04/2007, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo