Erreur sur une requete SQL
T'as une erreur aussi sur ton mysql_fetch_assoc.
mysql_fetch_assoc retourne un tableau et non un integer.
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]
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.
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]
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
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]
Tu as quelle version de MySQL ?
et COUNT(*) attaché ?
zebdinou pour les intimes / Blog : http://www.zebden.fr
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]
Utilise $temp['nb'] au lieu de $temp[0] dans ton elseif.