Pb INSERT INTO + variable php

SOS_mOa Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
 fiu -


Bonjour tout le monde,

alors voila mon problème: j'essaye d'insérer une chaîne $insertion dans ma table. Cette chaîne correspond à la concaténation de 4 autres chaînes contenant des lignes de code html. Rien de difficile me disais-je... Sauf que lorsque je lance mon script php, je tombe sur cette 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 '
suivi d'un petit carré dont je ne comprend pas l'origine... J'ai fais plein de manips, cherché sur plein de forum comment résoudre ça et aucun résultats. Voila le bout de code ou je tente l'insertion.

$tab = array();
$zone = str_replace(" ","",$code);
for ($i=1; $i<10; $i++)
{
	$rechid = '051';
	$debutid = strpos($zone,$rechid);
	$tab[i] = substr ($zone, $debutid, 8);
			
	if ($debutid >= 1)
	{
		echo"<br />id : ".$tab[i]."<br /><br />"; 
		$zone = substr ($zone, $debutid+10);
				
		// INSERTION
		$insertion = $benef.$desc.$comp.$cons;
		echo $insertion;
		$req='insert into fm_origin (id, texte) VALUES ('.$tab[i].','.$insertion.' )';
		$result=mysql_query($req) OR die(mysql_error() );
	}
	else 
	{
		$i = 10;
	}


J'ai essayer d'insérer seulement une des 4 variables mais le problème est le même. A la seule différence que le petit carré n'apparait que lorsque je tente d'insérer $benef.
Voila je pense que j'ai résumé le problème, des idées?
A voir également:

1 réponse

fiu
 
Salut

Eske parazar il ne faudrait pas encadrer $insertion avec des apostrophes
Car là, si $tab[i] contient 18 & $insertion contient aaabbbcccddd, $req contiendra

insert into fm_origin (id, texte) VALUES (18, aaabbbcccddd )

alors qu'il faudrait

insert into fm_origin (id, texte) VALUES (18, 'aaabbbcccddd' )



last but not least: es-tu sûr que $tab[i] soit valide ? ne serait-ce pas plutôt $tab[$i]?
0