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

Requêtes MySQL Discussion :

[MySQLi] Passage d'un code de l'ext. mysql à mysqli


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut [MySQLi] Passage d'un code de l'ext. mysql à mysqli
    Bonjour à tous,

    suivant la version 2 du PHP5 avancé de Daspet/Geyer (ch.11, p.245), j'essaye de créer une fonction de vérification du couple login/mdp d'un utilisateur lors d'une connexion à une session

    * J'ai une table MySQL5 session avec SES_LOGIN et SES_MDP où sont stockées les infos nécessaires.
    * le login et le mdp arrivent via un formulaire post : $_POST['login'] et $_POST['mdp']

    voici le code en mysql copié de "PHP 5 avancé" :
    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
     
    function verification($login, $mdp) { //($login = $_POST['login'])
    //infos connexion...
    //création requête
    $login = mysql_real_escape_string($login);
    $mdp = mysql_real_escape_string($mdp);
    $sqlses = "SELECT SES_LOGIN, SES_MDP FROM session"
    	." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'";
    //exécution
    $result = mysql_query($sqlses);
    	if (mysql_num_rows($result)>0) {
    			return TRUE;
    			} else {
    			return FALSE;
    			}
    }
    Voici mon code en mysqli qui ne marche pas ...
    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
     
    1. function verification($login, $mdp) {
    2. include ('Connections/annuaire-mysqli.php');
    3. mysqli_select_db($link, 'annuaire');
    4. $login = mysqli_real_escape_string($link, $login);
    5. $mdp = mysqli_real_escape_string($link, $mdp);
    6. $sqlses = "SELECT SES_LOGIN, SES_MDP FROM session"
    	      ." WHERE SES_LOGIN='$login' AND SES_MDP='$mdp'";
    7. $rqp = mysqli_prepare($link, $sqlses);
    8. mysqli_stmt_execute($rqp); //Warning: mysqli_stmt_execute() expects  parameter 1 to be mysqli_stmt, boolean given
    9. $result = mysqli_stmt_num_rows($rqp); //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, boolean given 
    10.			if (mysqli_stmt_num_rows($result)>0) { //Warning: mysqli_stmt_num_rows() expects parameter 1 to be mysqli_stmt, null given
    11.			return TRUE;
    12.			} else {
    13.			return FALSE;
    14.			}
    15.		}
    faut-il encore protéger les variables en 4 et 5 avec Mysqli ? (hé au fait comment on numérote automatiquement les lignes dans la balise code ?)

    Merci d'avance à ceux qui voudront bien éclairer ma lanterne après un RTFM infructeux...

  2. #2
    Nouveau membre du Club
    Inscrit en
    Novembre 2006
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 6
    Par défaut Nouvel essai avec PDO
    Pour contourner la difficulté ( ), j'ai essayé de refaire ça en PDO, mais pas plus de succès :

    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
     
    $login = "employe1";
    $mdp = "1";
     
    function verification($login, $mdp) {
    $bdd = new PDO('mysql:host=localhost;dbname=nom', 'user', 'xxxx');
    $sqlses = "SELECT EMP_LOGIN, EMP_MDP FROM employe"
    				 ." WHERE EMP_LOGIN = '$login' AND EMP_MDP='$mdp'";
    $req = $bdd->prepare($sqlses);
    $req->execute();
    $result = $req->columnCount();
    	if ($result == 1) {
    		echo "OK"; //le temps du test
    		} else {
    		echo "You loose !";
    		}
    }
    Personne n'a une idée ?

Discussions similaires

  1. passage d'un code vers le code Matlab
    Par BillaEAS dans le forum Images
    Réponses: 1
    Dernier message: 27/04/2012, 19h51
  2. Passage de Octave à Code Blocks
    Par CynthiaBouh dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 06/04/2009, 12h09
  3. passage d'un code gcc linux sous windev
    Par dybmans dans le forum WinDev
    Réponses: 2
    Dernier message: 28/10/2007, 12h00
  4. Réponses: 3
    Dernier message: 21/05/2007, 11h00
  5. Passage d'un code C++ Linux vers Windows
    Par GLDavid dans le forum C++
    Réponses: 10
    Dernier message: 22/05/2006, 17h43

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