insert into qui fonctionne.. ou qui ne fonctionne pas ! !

Eléphant du PHP | 75 Messages

08 sept. 2009, 18:42

bonjour je voulais savoir si cette methode pour controler un INSER INTO était valide
car ma table reste vide..
$sql="INSERT INTO quote(id_quote, id_member, nom_project, number_quote, nom, qte, key) Values('','$id_membre','$nom_project','$quote', '$ref', '$qte', '$key')";
$req = mysql_query($sql);
	if($req = TRUE)
	{
	echo "OK";
	}
	else
	{
	echo "ERREUR";
	}
Savez vous d'où peu venir le probleme ?? car je bloque...j'ai vérifier mes variables, mes noms de table et de champs... :(

Eléphanteau du PHP | 27 Messages

08 sept. 2009, 18:48

Essaye d'entourer tes values de type string de guillemets, ça devrait fonctionner beaucoup mieux! :)

Au passage, si ton id_quote est en auto increment, inutile de le renseigner!
De plus, évite d'écrire "Values"! En théorie cela ne change rien, mais je te conseil quand même de tout mettre en majuscule ou en minuscule (personnellement, je trouve que les majuscules sont plus lisibles dans le sens ou il est plus facile d'identifier les mots clés du langage, mais ce n'est qu'une question de gout!)

Concernant ta vérification j'avoue ne pas pouvoir t'aider, cela fait bien longtemps que je n'ai pas fait de requête à la main en PHP! :D

Commence par faire un var_dump de $req, tu auras au moins une idée du retour de ta fonction. :)

Eléphant du PHP | 369 Messages

08 sept. 2009, 19:02

Salut,
bonjour je voulais savoir si cette methode pour controler un INSER INTO était valide
car ma table reste vide..
$sql="INSERT INTO quote(id_quote, id_member, nom_project, number_quote, nom, qte, key) Values('','$id_membre','$nom_project','$quote', '$ref', '$qte', '$key')";
$req = mysql_query($sql);
	if($req = TRUE)
	{
	echo "OK";
	}
	else
	{
	echo "ERREUR";
	}
Savez vous d'où peu venir le probleme ?? car je bloque...j'ai vérifier mes variables, mes noms de table et de champs... :(
Tel que mentionné, la requête reçoit que du texte d'ou l'échec d'enregistrement. Il te faut échapper les
simples quotes et placer tes variables hors de celles-ci. Ce qui peur s'écrire ainsi: '\''.$ma_value.'\'' ... ou
jouer avec les simples et doubles quotes.

Les doubles quotes évaluent mais pas les simples.

@+ bon code ;)

@Babounet: Grillé, grrrr ;)

Eléphant du PHP | 75 Messages

09 sept. 2009, 12:04

C'est la premiere fois que je bloque comme ça avec une requete !! ! :x

je n'ai pas trop compris votre histoire de guillemets.

j'ai toujours fai mes requetes de cette façon... et c'est la premiere fois que je rencontre un probleme.
$sql="INSERT INTO quote(nom_project, number_quote, nom, qte, key) VALUES ("$nom_project", "$quote", "$ref", "$qte", "$key")";
j'ai fais comme ça mais ça ne marche toujours pas ?? ! !

Eléphant du PHP | 75 Messages

09 sept. 2009, 12:43

j'ai trouvé ! !
l'erreur ne venait pas de la syntax de ma requete... (ma requete est du bonne :lol: )
mais d'un nom de champ (key), qui visiblement est réservé comme (mail,...)
j'ai donc remplacé 'key' par 'price_key'...
$sql="INSERT INTO quote(id_quote, nom_project, number_quote, nom, qte, price_key) VALUES('', '$nom_project', '$quote', '$ref', '$qte', '$key')";
            $req = mysql_query($sql) or die("erreur sql!<br>".$sql."<br>".mysql_error());