Erreur sql ? mauvaise syntaxe ?

Eléphant du PHP | 161 Messages

25 févr. 2005, 16:55

hmmmmm,
voila jcomprend pas jveux juste faire une ptite requettounette de rien du tout pour vérifier que le nom et prenom ne son pas déja rentré dans ma base, soit :
$sql1 = 'SELECT id FROM people WHERE name='.$_POST["name"].' && firstname='.$_POST["firstname"].''; 
$req = mysql_query($sql1) or die('Erreur SQL !'.$sql1.'<br>'.mysql_error()); 
$res = mysql_num_rows($req); 
if($res!=0) {  // si l'user est deja dans la base tu renvoies la page d'erreur
		header("Location: index.php?p=_error2");
        	}
    		else { // sinon t'ajoute tout dans  la base
La page s'affiche sans erreur pr la saisie.
Mais quand je soumet la requette :
Erreur SQL !SELECT id FROM people WHERE name=dupond && firstname=alfred<br>Champ 'dupond' inconnu dans where clause

jgrille pas mes champs y s'appellent bien 'id' 'name' et 'firstname' dans ma base :(
jsuis encore perdu

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 févr. 2005, 16:58

moi dans mes requêtes j'utilise AND et non && déjà

et s'il te met ce message, c'est qu'il prend dupond pour un champ et non pour une valeur, pour ça il te faut l'entourer de ' '

Eléphant du PHP | 161 Messages

25 févr. 2005, 16:59

j'ai essayé aussi mais ca a pas marché

Eléphant du PHP | 334 Messages

25 févr. 2005, 17:00

Souci de quote je pense, essaye ça, ça devrait mieux marcher :

Code : Tout sélectionner

$sql1 = "SELECT id FROM people WHERE name='".$_POST["name"]."' AND firstname='".$_POST["firstname"]."'";
Modifié en dernier par Jerem' le 25 févr. 2005, 17:01, modifié 1 fois.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 févr. 2005, 17:01

vraiment ?

Code : Tout sélectionner

SELECT id FROM people WHERE name='dupond' AND firstname='alfred'
ça ça ne marche pas ?

edit : désolé, je ne savais pas qu'on pouvait utiliser && au leux de AND :oops:

Eléphant du PHP | 161 Messages

25 févr. 2005, 17:07

ptin mec t un steack a chaque fois ca roule du 1er coup...

jfais toujours ce style d'erreur et jpasse l'aprem a essayer de les corriger (des fois jy arrive des fois j'y arrive pas...)
t'aurais pas une ptite doc a me conseiller qui détail bien la syntaxe php/mysql.

Je me base beaucoup sur les exemples de phpdebutant.org qui sont supers clairs. Mais jai beau les relires j'ai toujours autant du mal a rédiger correctement.

en tout cas merci bcp pr le coup de main :)

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 févr. 2005, 17:12

je ne sais pas si c'est moi le steack ou jerem' mais je réponds quand même :D

la meilleure doc a priori ce serait celle de MySQL directement :
http://dev.mysql.com/doc/mysql/fr/

ensuite pour créer de bonnes requêtes en PHP, tu peux les tester d'abord directement sur la base (via PHPMyAdmin, MySQLFront ...etc) et t'essayes de faire la même chose via ton PHP

affiche la requête qui est exécutée et lis les messages d'erreur et le tour est joué
à force, ça se fera tout seul :wink:

Eléphant du PHP | 161 Messages

25 févr. 2005, 17:15

lol bah c la requete a jerem qui marche mais les merci sont pr les 2 :)

ouai jpense aussi le php c comme le velo faut sprendre une paire de gamele avt d'esperer faire qqchose

putin elle est a chié cette phrase lol

bon aller merci encore :)

Eléphant du PHP | 334 Messages

25 févr. 2005, 17:35

De rien :wink:

T'inquiètes moi aussi j'en ai passé du temps sur des petites erreurs du genre, à force on les repère :P

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

25 févr. 2005, 17:38

hé ! j'avais relevé le problème, et moi je t'ai donné ce qu'il fallait avoir, jérém' comment l'avoir :)
c'est vrai c'est mieux...

bravo pour la phrase, ce sera la pensée du jour ;)