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

Résolu
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. 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. Ta table, elle ne s'appellerait pas users plutôt que useres ?
      0
    2. 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. 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. 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. 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. Merci de t'avoir m'aidez il sa marche pas :( ...
      0
    2. 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. oups désolé copié collé trop rapide ^^
      0
  4. 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. Merci ^^
      0