"|Query was empty" sur page connexion

Résolu/Fermé
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 - 29 sept. 2012 à 23:23
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 - 1 oct. 2012 à 13:40
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" :
<?php
session_start();
$loginOK = false;
include_once ('sql_acces.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" :
<?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
$BDD_host = "localhost";
$BDD_login = $_POST["login"];
$BDD_password = $_POST["password"];
$BDD_base = "lithotheque";
?>


A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
1 oct. 2012 à 11:07
Bonjour,

Ta fonction SQLSelect ne renvoie rien.
Donc quand tu fais mysql_query(SQLSelect("bla"));
tu as en fait
mysql_query();
sans aucun paramètre.

Deux façons de résoudre ça :

Rajouter
return $select;
dans ta fonction SQLSelect.

OU

supprimer le paramètre $select de cette fonction, et faire deux appels séparés :
SQLSelect();
$req="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>");

Xavier
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
1 oct. 2012 à 12:00
Bonjour,
Merci Xavier, si seulement cela pouvait me débloquer. Il me semblait bien qu'il y avait un souci dans ce style mais je n'arrivais pas à trouver où.
Je teste ta solution de suite et te tiens informé.
Très bonne journée,
Evelyne
0
Evelyne31 Messages postés 55 Date d'inscription mardi 17 juillet 2012 Statut Membre Dernière intervention 13 septembre 2016 5
1 oct. 2012 à 13:40
Xavier,
Je te remercie infiniment, c'était bien cela l'erreur, mon code fonctionne à présent, je suis super contente, je peux enfin passer à la galère suivante !!! Je mets en résolu.
Bonne aprèm,
Evelyne
0