Erreur sur une requete SQL

Répondre
LA GLOBULE
le 25/04/2005 à 21:43
LA GLOBULE
T'as une erreur aussi sur ton mysql_fetch_assoc.
mysql_fetch_assoc retourne un tableau et non un integer.
2pax cruz
le 25/04/2005 à 21:45
2pax cruz
Heu oui, merci mais comment je fais pour avoir ce qu'il faute ?

Désolé si j'ai l'air d'un boulet.

Merci
[2pax.cruz]
LA GLOBULE
le 25/04/2005 à 21:54
LA GLOBULE
Remplace ton :
$sql = 'SELECT COUNT (*) FROM restaurants WHERE nom="'.$nom.'"';

En :
$sql = 'SELECT COUNT (*) AS nb FROM restaurants WHERE nom="'.$nom.'"';

Et change ton :
if(mysql_fetch_assoc($req)!=0){echo 'Ce restaurant est déja inscrit';}

en :
$temp = mysql_fetch_assoc($req);
if($temp['nb']!=0){echo 'Ce restaurant est déja inscrit';}

Je vois aussi un problème de conception, c'est à dire qu'à l'heure actuelle, ton script lance tout le temps la requete SQL meme si $nom est vide.
2pax cruz
le 25/04/2005 à 21:59
2pax cruz
He bien ca ne marche toujours pas. Voici mon code :

$db = mysql_connect('localhost', 'maxdethune', 'metallica');
mysql_select_db('maxdethune1',$db);
$sql = 'SELECT COUNT (*) FROM restaurants WHERE nom='.$nom.'';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$temp = mysql_fetch_assoc($req);
if(empty($nom)) {echo 'Veuillez completer tous les champs obligatoires !';}
elseif($temp[0]!=0){echo 'Ce restaurant est déja inscrit';}

et l'erreur : (qui revient même si le champs est vide) :

Erreur SQL !
SELECT COUNT (*) FROM restaurants WHERE nom=
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) FROM restaurants WHERE nom=' at line 1


Merci
[2pax.cruz]
zebden
le 25/04/2005 à 22:01
zebden

Remplace ton :
$sql = 'SELECT COUNT (*) FROM restaurants WHERE nom="'.$nom.'"';

En :
$sql = 'SELECT COUNT (*) AS nb FROM restaurants WHERE nom="'.$nom.'"';


faut y mettre un peu du sien quand meme , meme si c'est pas evident.
zebdinou pour les intimes / Blog : http://www.zebden.fr
2pax cruz
le 25/04/2005 à 22:06
2pax cruz
Je fais tout ce que vous dites et ca ne marche toujours pas :

Erreur SQL !
SELECT COUNT (*) AS nb FROM restaurants WHERE nom="essai"
You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near '(*) AS nb FROM restaurants WHERE nom="essai"' at line 1


Merci.
[2pax.cruz]
zebden
le 25/04/2005 à 22:12
zebden
et COUNT(*) attaché ?
zebdinou pour les intimes / Blog : http://www.zebden.fr
2pax cruz
le 25/04/2005 à 22:27
2pax cruz
He bien, je vous remercie du fond de dreamweaver. En fait, c'est zebden qui a trouvé la solution, il faut attaché COUNT et (*). Merci à vous deux.

Mia sbon, le problème est pas fini : meme quand je rentre $nom comme dans la table, il ne me dit pas que il existe déja dans la table.

$db = mysql_connect('localhost', 'maxdethune', 'metallica'); 
mysql_select_db('maxdethune1',$db);
$sql = 'SELECT COUNT(nom) AS nb FROM restaurants WHERE nom="'.$nom.'"';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$temp = mysql_fetch_assoc($req);
if(empty($nom)) {echo 'Veuillez completer le champ \'nom\' !';}
elseif($temp[0]!=0){echo 'Ce restaurant est déja inscrit';}


Merci
[2pax.cruz]
Répondre
LoadingChargement en cours