Page 1 sur 1

erreur de guillemet dans une requete je pense

Posté : 26 janv. 2007, 18:25
par castelli
Bonjour j'ai une requete qui me pose bien probleme.
en effet lorsque ma variables nom comporte une ' j'ai une erreure
	foreach ($list as $id=>$tata) 
		{
	$selecta= "SELECT * from commande where nom like  '".$listnom[$id]."' and fournisseur = '".$listfour[$id]."'";
	$resulta2 = mysql_query($selecta,$link) or die ('Erreur : '.mysql_error() );
	$rangCmde2 = mysql_fetch_assoc($resulta2);
	echo $selecta;
....................}
je fais un echo de cette requete:


SELECT * from commande where nom like '(1R,2R)-(+)-N,N\'-dimethyl-1,2-bis(3-trifluoromethyl)phenyl-1,2-eth.' and fournisseur = 'Acros'Erreur : 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 '(3-trifluoromethyl)phenyl-1,2-eth.','2007-01-26','0','a','54','a','1','1','2007-' at line 1

si je fai un addslashes de cette variable:
	$listnom=addslashes($_POST['tabnom']);
et que je fais la requete elle me donne nimporte quoi

voici l'echo:
SELECT * from commande where nom like 'a' and fournisseur = 'Acros' 
et sa me donne pas d'erreure.

Donc je me demandais comment cela se faisait etcomment y remedier.

Merci encore

ps: le produit ou il y ' l'erreur s'appelle:
(1R,2R)-(+)-N,N'-dimethyl-1,2-bis(3-trifluoromethyl)phenyl-1,2-eth

voila merci

Posté : 26 janv. 2007, 18:32
par Ultim4T0m
Bonjour,

Pourquoi utilises tu un LIKE alors qu'apparement, tu t'en sers comme d'un simple = ?


Ceci devrait pourtant marcher :
$selecta= "SELECT * FROM commande WHERE nom='".addslashes($listnom[$id])."' AND fournisseur='".addslashes($listfour[$id])."'";

Posté : 26 janv. 2007, 18:56
par castelli
Bon aprés avoir essailler la requete ne trouve aucun resultat masi elle ne fais aucune erreur.

voici l'echo de cette derniere:

SELECT * FROM commande WHERE nom='(1R,2R)-(+)-N,N\\\'-dimethyl-1,2-bis(3-trifluoromethyl)phenyl-1,2-eth.' AND fournisseur='Acros'

:?

Posté : 26 janv. 2007, 20:17
par Ajoloca
Bonsoir,

Quelle est la structure de tes tableaux $list, $listnom et $listfour?

Je te conseillerait de faire un var_dump() ou bien un print_r() de ton tableau $listnom, je suis preque sur que tu vas trouver des surprises.