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 :

modification en mysqli_query [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut modification en mysqli_query
    Bonjour,

    Je cherche à modifier mes requêtes pour les utilisées avec mysqli, mais je n'arrive pas à faire la même choses que mon exemple ci-dessous...
    J'ai testé plusieurs exemple que j'ai trouvé sur le net, mais ça ne fonctionne pas...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = "SELECT id_user, nom_user FROM users WHERE nom_user = '".$_POST['name']."' AND password_user = '" . $_POST['pass']."'";
    $result = mysql_query($query) or die ("Erreur dans le query: $query. " . mysql_error());
    $data = (mysql_fetch_array($result));
    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    en procédurale c'est pareil (j'ai juste ajouté l'échappement qui manquait déjà dans ton code d'origine et enlevé le die qui était déjà en trop dans ton code d'origine) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $query = 'SELECT id_user, nom_user FROM users WHERE nom_user = "' . mysqli_real_escape_string($link, $_POST['name']) . ' AND password_user = "' . mysqli_real_escape_string($link, $_POST['pass']) . '"';
    $result = mysqli_query($link, $query);
    $data = mysqli_fetch_assoc($result);
    Mais autant aller plus loin en profitant des fonctionnalités :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $stmt = $mysqli->prepare("SELECT id_user, nom_user FROM users WHERE nom_user = ? AND password_user = ?");
    $stmt->bind_param('ss', $_POST['name'], $_POST['pass']);
    $stmt->execute();
    $stmt->bind_result($id_user, $nom_user);
    $stmt->fetch();
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    Merci bcp !
    Mais les "ss" sont obligatoires ? C'est pour spécifier le type de données je croit ? Mais si les données sont stockées en varchar ??? ça fonctionne plus ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelle est la question ? Tu mets le type de données qui correspond a ce que tu mets dans ta requête c'est tout.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    les "ss" correspondent à une chaine de caracteres ? non mais si j'ai des nombres decimaux en lieu et place ? ça va pas fonctionner ?

    J'ai testé le code que tu ma corrigé (le premier) et il me retourne les erreur suivantes :
    Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\datacamp\traitement_login.php on line 40

    Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp\htdocs\datacamp\traitement_login.php on line 43

    Pour info je me connecte avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $link = mysqli_connect($host, $user, $pass, $db);
    /* Vérification de la connexion */ 
    if (!$link) {
        printf("Echec de la connexion : %s\n", mysqli_connect_error());
        exit();
    }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque un "
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query = 'SELECT id_user, nom_user FROM users WHERE nom_user = "' . mysqli_real_escape_string($link, $_POST['name']) . '" AND password_user = "' . mysqli_real_escape_string($link, $_POST['pass']) . '"';
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    ok merci

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

Discussions similaires

  1. Erreur lors de modification d'une table
    Par seb.49 dans le forum SQL
    Réponses: 11
    Dernier message: 13/01/2003, 17h16
  2. [VB6] modification de menu
    Par rikko23 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 27/11/2002, 21h30
  3. [] Datagrid vide après modification des propriétés
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 20/09/2002, 16h37
  4. Modification de l'évènement OnClick
    Par MrJéjé dans le forum C++Builder
    Réponses: 9
    Dernier message: 22/08/2002, 12h52
  5. Réponses: 11
    Dernier message: 23/07/2002, 14h33

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