Probléme ecriture requete

Mammouth du PHP | 620 Messages

20 oct. 2011, 21:37

Bonjour,
j'ai un soucis pour une requête sql.

j'ai actuellement comme requête :
        $requete = mysql_query("SELECT * from galerie WHERE type='$type'");
Lorsque j’intègre mon type dans ma base je fais un mysql_real_escape_string($_POST['type']) et j'ai donc comme résulta dans ma base pour mon champ type : l'arc en ciel

Le soucis avec ma requête c'est que lorsque le WHERE s'applique pour 'l'arc en ciel' sa ne fonctionne pas (rien ne ressort) à cause de l'apostrophe car du coup j'ai :
        $requete = mysql_query("SELECT * from galerie WHERE type='l'arc en ciel'");
et dans ma base type = l\'arc en ciel

Comment faire pour que ma requête fonctionne ?
j'ai essayé d'appliquer un stripslashes($type) mais du coup type n'est plus égale à $type.

Mammouth du PHP | 620 Messages

20 oct. 2011, 21:46

je sais pas si c'est la bonne méthode mais j'ai fais :
$type = mysql_real_escape_string($type);
juste avant ma requête et sa fonctionne.
SI vous avez une autre écriture ou un conseil je prend aussi. (on en apprend tous les jours)

ViPHP
xTG
ViPHP | 7331 Messages

21 oct. 2011, 08:02

C'est la bonne méthode. ;)
Tu pourrais même améliorer tout à en passant au driver MySQLi qui est très similaire (un i dans les commandes en plus).
Car le driver MySQL n'est plus mis à jour.