Warning: mysql_query() expects at least 1 parameter, 0 given in

Résolu
federal_ghost Messages postés 11 Statut Membre -  
federal_ghost Messages postés 11 Statut Membre -
Je continue à recevoir ce message d'erreur " Warning: mysql_query() expects at least 1 parameter, 0 given in C:\xampp\htdocs\login.php on line 14", pouvez-vous m'aider à comprendre ce qui s'est passé sur mon code?
Voici mon code:
<?php

$username = $_POST['username'];
$password = $_POST['password'];

if  ($username&&$password)
{

$connect = mysql_connect ("localhost","root","") or die ("Couldn't connect!");
mysql_select_db("phplogin") or die("Couldn't find db!");

$query = mysql_query("SELECT * FROM useres WHERE username='$username'");

$numrows = mysql_num_rows($query);

echo $numrows;

}
else
 die ("please entre an Username and Password!");

4 réponses

  1. Utilisateur anonyme
     
    Tiens, le message d'erreur a changé. Pourtant, il n'y a aucune raison avec les "echo" que j'ai rajoutés.

    Pour voir quelle est l'erreur :
    $query = mysql_query("SELECT * FROM useres WHERE username='$username'") or die(mysql_error());


    Nagashima a quand même raison de te conseiller d'utiliser mysqli au lieu de mysql, en adaptant la syntaxe.
    1
    1. Utilisateur anonyme
       
      Ta table, elle ne s'appellerait pas users plutôt que useres ?
      0
    2. federal_ghost Messages postés 11 Statut Membre
       
      il s'apple users Merci le père j'ai régler se problème mais maintenant ya un autre problème
      quand j'entre un user et pass faux il doit me dire
      "please entre an Username and Password!"
      mais il me dit rien comme si il n'est pas faux


      Voilla mon code modifié:

      <?php

      $username = $_POST['username'];
      $password = $_POST['password'];

      if ($username&&$password)
      {
      $connect = mysql_connect("localhost","root","")or die("Couldn't connect!");
      mysql_select_db("phplogin")or die("Couldn't find db!");
      $query=mysql_query("SELECT * FROM users WHERE username='$username' ");
      $numrows=mysql_num_rows($query);
      if ($numrows!=0)
      {
      // code to login
      }
      else
      die ("That user doesn't esixt!");
      }
      else
      die ("please entre an Username and Password!");
      0
  2. Utilisateur anonyme
     
    Bonjour

    Très très étrange en effet.
    Déjà le numéro de ligne. N'aurais-tu pas en réalité deux lignes vides quelque part, qui expliqueraient qu'il voit un mysql_query à la ligne 14 alors qu'ici on le voit à la ligne 12 ?
    Ensuite, qu'il ne voie pas que tu as mis un paramètre à mysql_query, j'ai beaucoup de mal à le croire.
    Peux-tu ajouter
    echo "coucou1";
    juste avant ta ligne mysql_query et
    echo "coucou2";
    juste après ?
    0
    1. federal_ghost Messages postés 11 Statut Membre
       
      Bonjour
      Merci de t'avoir m'aides,
      j'ai ajouté
      echo "coucou1";
      et
      echo "coucou2";
      et maintenant il me dit:
      Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\login.php on line 16
      <
      0
  3. Utilisateur anonyme
     
    salut,

    tu utilise des fonction obsolète aujourd'hui, écris plutot :


    $connect = mysqli_connect("localhost","root","") or die ("Couldn't connect!");
    mysqli_select_db ("phplogin") or die("Couldn't find db!");

    $query = mysqli_query("SELECT * FROM useres WHERE username='$username'");

    $numrows = mysqli_num_rows($query);

    bon sinon je ne vois pas de soucis dans ton code =/ vois ce que dis "le père" s'il a des idées ^^
    0
    1. federal_ghost Messages postés 11 Statut Membre
       
      Merci de t'avoir m'aidez il sa marche pas :( ...
      0
    2. Utilisateur anonyme
       
      Normal, la syntaxe n'est pas correcte. Les fonctions mysqli utilisent un paramètre de plus que les fonctions mysql, l'identifiant de connexion.
      0
    3. Utilisateur anonyme
       
      oups désolé copié collé trop rapide ^^
      0
  4. Utilisateur anonyme
     
    Tu ne testes pas le mot de passe, normal qu'il n'en tienne pas compte. Tu vois bien que dans le WHERE de ta requête, seul le nom est vérifié.

    Par contre, si tu te trompes de nom, c'est "That user doesn't esixt!" qu'il devrait te dire.
    "please entre an Username and Password!", c'est pour le cas ou le nom ou le mot de passe ou les deux sont vides.
    0
    1. federal_ghost Messages postés 11 Statut Membre
       
      Merci ^^
      0