Vous n'êtes pas identifié(e).
bonjour,
depuis mon formulaire:
<input type="radio" name="serie" value="axo" checked > Axolute
<input type="radio" name="serie" value="liv" />Living <br/>
je souhaite extraire tous les lignes contenant axo ou liv.
alors je mets la variable $_GET['serie'],
$Requete="select * from bticino where lib like '$_GET['serie']'";
affichage Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\inter\traitement.php on line 18
echo $_GET['serie'], affiche axo ou liv
en dur:
si $Requete="select * from bticino where lib like 'axo'";
ça marche!
je dois avoir un pb de variable, un pb d'array ou autre, que faire?
Hors ligne
hello,
j'ai trouvé mais si quelqu'un peut expliquer: mysql_real_escape_string
$Requete = "SELECT * FROM bticino WHERE lib LIKE '".mysql_real_escape_string($_GET['serie'])."%'";
Hors ligne
Cette fonction permet d'échapper les caractères spéciaux qui rentrent en compte dans une requête SQL.
C'est comme une balise HTML, si tu mets le > au mauvais endroit tu vas avoir un truc mal interprété. Bah là c'est la même chose avec les simple quote.
Hors ligne
Bonjour,
On va me trouver tatillon, mais bon, il faut bien un peu
ne me parait pas très optimisé
En effet, l'avantage des " " normalement, c'est que les variables dedans sont interprétées (remplacées par leur valeur quoi).
Or là, la variable est mise pas concaténation en sortant des " ", qui sont donc inutiles. Perso, je mettrais donc :
my 2 cents
la v2, c'est tabou, on en viendra tous a bout
Hors ligne
Bonjour,
En fait dans ta ligne
la couleur automatique de ton code aurait du te mettre la puce à l'oreille surtout avec le message d'erreur que tu as donné.
je m'explique:
Le problème viens de tes ' dans ta requête. Ici le ' avant le s de serie est considérée comme le ' de fin ouverte par celui avant le $.
Pour corriger le pb, tu peux ecrire par exemple :
qui fonctionnera sans aucune erreur.
Ps: J'ai rajouté % de chaque coté de ta variable pour tirer avantage du like sinon si ta variable ne prends pas une valeur exacte de lib enregistré dans ta base de données, ta requete ne retournera aucune ligne et ce malgré ton like.
Dernière modification par Jc (16-04-2010 20:50:25)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Et pour un peu plus de culture supplémentaire voici une autre façon de l'écrire sans variable intermédiaire sinon :
Hors ligne
merci,
je veux ameliorer mon code au plus simple.
je prends l'option de xTG:
Mais rien n'est extrait de la base, alors je rajoute % de chaque coté de serie soit:
resultat:
Notice: Undefined index: %serie% in C:\wamp\www\inter\traitement.php on line 18:
je souhaite rajouter des and:
A+
Hors ligne