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 :

Query was empty sur page connexion session [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut Query was empty sur page connexion session
    Bonsoir,
    Je cale pour un problème sur une page d'accès à un site par identifiant et login par session.
    Login et password sont stockés dans une table SQL "USERS".
    J'ai testé ma requête , elle fonctionne dans PHPMyAdmin.
    Dans mon fichier "verif_login" j'ai un include "sql_acces".
    Ce dernier fichier a un include "connexion_acces".
    Ces 2 fichiers fonctionnent très bien en include dans d'autres fichiers mais là les 3 ne collent pas ?
    Je n'arrive à rien depuis plusieurs jours, j'ai le message d'erreur : "Erreur sur la requete : "|Query was empty".
    J'ai tout essayé, même reprendre le code au brouillon sur papier ???
    Un grand merci d'avance si quelqu'un avait une idée pour me permettre d'avancer. Ci-dessous mes codes.
    Evelyne31

    Fichier "verif_login" :
    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
    <?php
    session_start();
    $loginOK = false;
    include_once ('sql_acces.php');<code type="php"><code type="php">
    if (isset($_POST) && (!empty($_POST['submit'])) && (!empty($_POST['login'])) && (!empty($_POST['password']))){
      extract($_POST);
      $req=(SQLSelect("SELECT password, login FROM USERS WHERE login = '".addslashes($login)."'"));
      $reqq = mysql_query($req) or die("Erreur sur la requete : <font color=\"red\">$req" . "|" . mysql_error() . "</font>");
      if (mysql_num_rows($reqq) > 0) {
         $data = mysql_fetch_assoc($reqq);
        if ($password == $data["password"]) {
          $loginOK = true;
        }
      }
     }
    if ($loginOK) {
      $_SESSION["login"] = $data["login"];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !';
    }
    ?>
    Fichier "sql_acces" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    include_once ('connexion_acces.php');
    function SQLSelect($select) {
        global $BDD_host;
        global $BDD_base;
        global $BDD_login;
        global $BDD_password;
        mysql_pconnect($BDD_host, $BDD_login, $BDD_password) or die("<font color=\"red\">Erreur de connexion : " . mysql_error() . "</font>");
       mysql_select_db($BDD_base) or die("<font color=\"red\">Erreur select db : " . mysql_error() . "</font>");
    }  
    ?>
    Fichier "connexion_acces.php" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $BDD_host = "localhost";
    $BDD_login = $_POST["login"];
    $BDD_password = $_POST["password"];
    $BDD_base = "lithotheque";
    ?>

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Par défaut
    Bonjour, Bonsoir comme tu veux en fait
    déja la facon dont tu fait tes requetes c'est comment dire particulier.
    Petit conseil avant toute chose commence a te pencher sur PDO tu trouveras un très bon tutoriel sur ce site !
    Ensuite moi je verais plus quelque chose comme ca :

    Verif_login:
    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
     
    <?php
    session_start();
    $loginOK = false;
    include_once ('sql_acces.php');<code type="php"><code type="php">
    if (isset($_POST) && (!empty($_POST['submit'])) && (!empty($_POST['login'])) && (!empty($_POST['password']))){
      extract($_POST);
    SQLSelect(); // Pour ouvrir ta connexion
      $req="SELECT password, login FROM USERS WHERE login = '".addslashes($login); // ta requete
      $reqq = mysql_query($req) or die("Erreur sur la requete : <font color=\"red\">$req" . "|" . mysql_error() . "</font>");
      if (mysql_num_rows($reqq) > 0) {
         $data = mysql_fetch_assoc($reqq);
        if ($password == $data["password"]) {
          $loginOK = true;
        }
      }
     }
    if ($loginOK) {
      $_SESSION["login"] = $data["login"];
    }
    else {
      echo 'Une erreur est survenue, veuillez réessayer !';
    }
    ?>
    Sql_access:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <?php
    include_once ('connexion_acces.php');
    function SQLSelect() {
        global $BDD_host;
        global $BDD_base;
        global $BDD_login;
        global $BDD_password;
        mysql_pconnect($BDD_host, $BDD_login, $BDD_password) or die("<font color=\"red\">Erreur de connexion : " . mysql_error() . "</font>");
       mysql_select_db($BDD_base) or die("<font color=\"red\">Erreur select db : " . mysql_error() . "</font>");
    }  
    ?>
    Après la je ne fait juste qu'adapter ton code ce n'est pas non plus une méthode "propre"
    Tiens moi au courant si ca va mieux apres

  3. #3
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Bonjour et merci Bambou74,
    Je viens de tester vite fait, rien à faire, j'ai d'autres messages d'erreur.
    Bon, je cherche quand même un peu pour tenter de résoudre et si ça ne marche pas je reviendrais vers le forum.
    Encore merci et bonne journée,
    Evelyne31

  4. #4
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Par défaut
    Les erreurs ont changées ?

  5. #5
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    Bonjour bambou74,
    Après bien des manipulations... je retombe sur la même erreur : query reste vide.
    Il semble que cela vienne d'une confusion entre mes $req et $reqq. Je n'obtiens pas de tableau (fetch_assoc). Pourtant j'ai vérifié des 10aines de fois ?
    OK merci je vais voir pour le PDO.
    La façon dont je fais mes requêtes marche très bien d'habitude, tout est inclu dans un fichier de fonctions sql.php. C'est un pro qui me l'a fait.
    Aurais-tu une idée pour cette confusion $req et $reqq? Je remets le code où ça coince et un grand merci d'avance.
    Evelyne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = SQLSelect("SELECT password, login FROM USERS WHERE login = '".addslashes($login)."'");
      $req = mysql_query($sql) or die("Erreur sur la requete : <font color=\"red\">$sql" . "|" . mysql_error() . "</font>");
      if (mysql_num_rows($req) > 0) {
         $data = mysql_fetch_assoc($req);
        if ($password == $data["password"]) {
          $loginOK = true;

  6. #6
    Membre confirmé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 210
    Par défaut
    PS pour ce nouveau code :
    - $req remplacé par $sql
    - et $reqq remplacé par $req
    C'est plus propre.

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

Discussions similaires

  1. [MySQL] Erreur : Query was empty(execution plusieurs requetes)
    Par fred619 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/05/2011, 00h06
  2. [MySQL] erreur : query was empty
    Par johan0510 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 09/03/2010, 15h32
  3. mot de passe oublié - Query was empty
    Par Creanet dans le forum Langage
    Réponses: 7
    Dernier message: 04/09/2009, 20h08
  4. [PEAR][DB] Error "Query was empty"
    Par Katachana dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 21/01/2008, 15h51
  5. [ADODB] erreur Query was empty
    Par Invité dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 26/01/2007, 20h18

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