[PhP] Difficultés avec eval()...

Fermé
Taboujr Messages postés 507 Date d'inscription vendredi 18 janvier 2002 Statut Membre Dernière intervention 2 janvier 2008 - 1 mars 2003 à 11:30
 ACDesign3r - 12 juin 2007 à 16:05
Bonjour !

Voilà, je vous expose mon problème :
Il faudrait que j'éxecute les deux commandes php suivantes :
$req16_1="UPDATE ".$table."_smile SET image='".$fich1."', code='".$code1."' WHERE id=1";
mysql_query($req16_1) or die ("Err 16_1 : Impossible d'effectuer une des requêtes de mise à jour du smiley n°1");
en changeant les 1 en 2, 3, ..., jusqu'à 8.

En phase de test, j'ai essayé le code suivant :
$i=1;
$str1='$req16_'.$i.'="UPDATE '.$table.'_smile SET image=\'fich'.$i.'\', code=\'code'.$i.'\' WHERE id='.$i.';';
$str2='mysql_query($req16_'.$i.') or die ("Err 16_'.$i.' : Impossible d\'effectuer une des requêtes de mise à jour du smiley n°'.$i.'");';
echo '<b>Variable str1 : </b>'.$str1.rn;
echo '<b>Variable str2 : </b>'.$str2.rn;
$str1=addslashes($str1);
$str2=addslashes($str2);
eval( "$str1" );
eval( "$str2" );
echo rn.'<b>Variable req16_1 : </b>'.$req16_1.rn;

Mais ça ne marche pas très bien... Le résultat ressemble à ça :
Variable str1 : $req16_1="UPDATE tbj_forum_smile SET image='fich1', code='code1' WHERE id=1;
Variable str2 : mysql_query($req16_1) or die ("Err 16_1 : Impossible d'effectuer une des requêtes de mise à jour du smiley n°1");

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in d:\= web =\modphp\tbj_forum1.0ad01\forum.php(288) : eval()'d code on line 1

Parse error: parse error, unexpected $ in d:\= web =\modphp\tbj_forum1.0ad01\forum.php(288) : eval()'d code on line 1

Warning: Unexpected character in input: '\' (ASCII=92) state=1 in d:\= web =\modphp\tbj_forum1.0ad01\forum.php(289) : eval()'d code on line 1

Parse error: parse error, unexpected $ in d:\= web =\modphp\tbj_forum1.0ad01\forum.php(289) : eval()'d code on line 1

Variable req16_1 :

Alors du coup, j'ai lu plein de truc sur la fonction eval(), mais j'ai pô tout compris. Quelqu'un serait-il en mesure de m'expliquer où est mon erreur ?

Merci par avance...

TaBou JuNioR
http://membres.lycos.fr/taboujr/
A voir également:

1 réponse

Il faut que tu utilise une boucle for pour ça.
for($i=1;$i<=8;$i++){
$req16_[$i]="UPDATE ".$table."_smile SET image='".$fich[$i]."', code='".$code[$i]."' WHERE id=[$i]";
mysql_query($req16_[$i]) or die ("Err 16_[$i] : Impossible d'effectuer une des requêtes de mise à jour du smiley n°[$i]");
}
0