erreur dans ce script php? je comprends pas...

erreur dans ce script php? je comprends pas... - Programmation

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

Reply

Marsh Posté le 29-09-2001 à 22:11:25   

Reply

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.

Reply

Marsh Posté le 29-09-2001 à 23:42:48    

merci, je vais essayer.
 
;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed