erreur dans ce script php? je comprends pas... - Programmation
Marsh Posté le 29-09-2001 à 23:38:03
Le resultat de la commande '$result=mysql_query($sql_query)' indique si la requete a ete correctement executee ou s'il y a eu une erreur.
Si tu recherche 'jeremie', la requete est correcte. Simplement, le resultat ne contient aucun champ.
Il faut que tu teste par 'mysql_num_rows($result)' qui te donne le nombre de lignes du resultat.
Marsh Posté le 29-09-2001 à 22:11:25
voila ce que je met dans mon fichier php.
Ca vient exactement du site manucorp.com, c'est du copier/coller. J'ai bien sûr créé la base de donnée test, contenant la table user, avec cela:
-------------------------------
CREATE TABLE user (
login VARCHAR (16) not null ,
password VARCHAR (16) not null ,
email VARCHAR (200) not null ,
PRIMARY KEY (login),
INDEX (login)
);
INSERT INTO user (login,password,email) VALUES ('manu','toto','manu@manucorp.com'
------------------------------
<?php
//je me connecte au serveur
$db=mysql_connect("localhost","root","" );
if ($db)
//je teste si la connection fonctionne
{
$sel=mysql_select_db("test" );
if ($sel)
{
//ici je peux faire des requêtes
$sql_query="SELECT * FROM user WHERE login='jeremie'";
$result=mysql_query($sql_query);
if ($result)
{
$row=mysql_fetch_array($result);
echo "login : ".$row["login"].
" password ".$row["password"].
" email ".$row["email"];
}
//ici on sait que l'utilisateur n'existe pas
else echo "utilisateur inexistant";
}
//le serveur ne trouve pas ma base de données
else echo mysql_error();
}
//le serveur n'accepte pas ma connexion pourquoi ?
else echo mysql_error();
?>
bon, ba si je met login='manu', il le trouve bien dans la db. Si je met jeremie, au lieu de me mettre "utilisateur inexistant", il me met "login : password email"
Il trouve pas jeremie, puisqu'il n'y a pas de jeremie dans la base, mais il passe quand meme dans le "if" au lieu de passer dans le "else"...
Deplus, si je fais un "echo $result", il me renvois "Resource id #2" alors qu'il devrait me renvoyer 0 ou 1 je suppose. Ca doit venir de la, mais pk renvois-t-il Resource id #2 ???
Je comprends pas , j'avais testé avec une ancienne version de ces scripts mysql, et ca marchait. La, ca marche plus. Note: j'utilise easyphp 1.4, mais je penses pas que ce soit ma version de php ou de mysql qui aie un probleme.
please help me rapidly.
jerem38