Erreur php/mysql

Erreur php/mysql - PHP - Programmation

Marsh Posté le 08-03-2007 à 17:37:06    

Bonjour a tous,
 
J'ai une erreur mysql sur cette partie de code, pourrait on m'aider?
 

Code :
  1. $sql = "SELECT * FROM `cool` WHERE 'pseudo'=$pseudo AND 'mdp'=$mdp";
  2. $sql = mysql_query($sql, $serveur);
  3. $nombre = mysql_num_rows($sql);
  4. if($nombre == 1 ){
  5. echo "<a href=\"index.php\">Continuer</a>.</br>";
  6. }


 
erreur:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in k:\programmation\projet jeu php\fichiers source\new4.php on line 27
(tout cela sachant que je suis connecte a la abse de donnees.)
Selon moi c'est la requete sql qui est mal formatee, une idee?

Reply

Marsh Posté le 08-03-2007 à 17:37:06   

Reply

Marsh Posté le 08-03-2007 à 17:42:28    

oui les quotes (') sont pas aux bons endroits...

Reply

Marsh Posté le 08-03-2007 à 17:44:53    

Mais ou dois je donc les mettre?  :)  

Reply

Marsh Posté le 08-03-2007 à 17:46:01    

Code :
  1. $sql = "SELECT * FROM `cool` WHERE `pseudo` = '$pseudo' AND `mdp` = '$mdp'";
  2. $sql = mysql_query($sql, $serveur);
  3. if (mysql_num_rows($sql) == 1)
  4. {
  5.     echo "<a href=\"index.php\">Continuer</a>.</br>";
  6. }


 
 
Ca devrait mieux marcher comme ça. Et en passant, j'espère que $pseudo et $mdp sont convenablement échappés...

Reply

Marsh Posté le 08-03-2007 à 17:54:27    

Oui c'etait en effet le probleme...
 
Pendant que j'y suis :) mysql_num_rows($sql) renvoie 1 quand l'operation est reussie ou me suis je goure de fonction ?

Reply

Marsh Posté le 08-03-2007 à 17:55:20    

Reply

Marsh Posté le 08-03-2007 à 17:56:20    

oui oui je suis alle voir mais j'aurais juste aime une confirmation en francais :p

Reply

Marsh Posté le 08-03-2007 à 17:57:54    

[:w3c compliant] je quote le lien plus donné juste au dessus:

Citation :

mysql_num_rows
(PHP 4, PHP 5)
mysql_num_rows — Retourne le nombre de lignes d'un résultat MySQL

Reply

Marsh Posté le 08-03-2007 à 18:00:57    

Oh my god je suis desole je n'avais pas vu que l'on pouvait traduire la page , toutes mes excuses.

Reply

Marsh Posté le 08-03-2007 à 18:32:47    

Mais lol je suis nul en requetes, des problemes dans celles ci?
 
$sql = "CREATE TABLE inscrits1(pseudo VARCHAR(20), mdp VARCHAR(10), mail VARCHAR(30), blé INT, or INT, am1 INT, am2 INT,am3 INT, am4 INT,am5 INT)";
$sql1= "INSERT INTO inscrits1(pseudo, mdp, mail, blé, or, am1, am2, am3, am4, am5) VALUES('$pseudo', '$mdp', '$mail', 0, 0, 0, 0, 0, 0, 0)";
 
merci

Reply

Marsh Posté le 08-03-2007 à 18:32:47   

Reply

Marsh Posté le 09-03-2007 à 14:56:07    

mysql risque de gueuler sur le "or" qui est un mot réservé du langage.  
 
Utilise `.


Message édité par sielfried le 09-03-2007 à 14:56:17

---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 09-03-2007 à 21:09:41    

Oui il gueulait en effet mais le probleme n'est pas resolu j'ai le meme erreur:
$fat = mysql_query($sql);
$fat1 = mysql_query($sql1);
if((mysql_num_rows($fat)==1)&&(mysql_num_rows($fat1)==1)){  
print "Inscription reussie";
}
 
 
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in k:\programmation\projet jeu php\fichiers source\new1.php on line 38

Reply

Marsh Posté le 09-03-2007 à 21:13:22    

mysql_num_rows n'a aucun sens pour tout ce qui n'est pas une requête select...
 
Pour savoir si tes requêtes sont passées, il suffit de contrôler le retour de mysql_query (voir doc).


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
Reply

Marsh Posté le 09-03-2007 à 21:53:03    

genre if ($fat=true) ??

Reply

Marsh Posté le 09-03-2007 à 22:05:13    

Reply

Marsh Posté le 10-03-2007 à 06:11:50    

Tu n'est pas obligé d'utiliser :
 

Code :
  1. if(booleen == 1) {
  2. }


 
Tu peux tester comme suit  
 

Code :
  1. if(booleen) {
  2. }


 
Soit :
 
 

Code :
  1. if($fat1) {
  2. #Condition si la requête est réussie
  3. }
  4. //OU
  5. if(!$fat1) {
  6. #Condition si la requête a échouée
  7. }


Reply

Sujets relatifs:

Leave a Replay

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