Voici un problème qui me tient en suspens depuis trop longtemps, et le fera sans doute encore sans une aide.
J'essaie de supprimer en base de données des chaines susceptibles de contenir des apostrophes.
Si par exemple j'ai en base: saucisse à l'ail, en faisant par l'interface sql de phpmyAdmin, la requete
DELETE FROM `matable` WHERE produit='saucisse à l\'ail' LIMIT 1
je fais disparaitre la saucisse à l'ail.Mais pas avec ce script php, exécuté à partir de mon site
$suppression_dans_matable ="DELETE FROM `matable` WHERE `produit`='".$_GET['suppr']."' LIMIT 1";
$suppression= mysql_query($suppression_dans_matable);
if(!$suppression_dans_table){echo mysql_error();}
script dans lequel on a bien:
echo $_GET['suppr']; //saucisse a l\'ail
Et je n'ai pas meilleur résultat avec
$suppression_dans_matable ='DELETE FROM `matable` WHERE `produit`=\''.$_GET['suppr'].'\' LIMIT 1'
$suppression= mysql_query($suppression_dans_matable);
if(!$suppression_dans_table){echo mysql_error();}
Si dans ma table j'ai: poivre, l'huile, l'oeuf, boite à oeufs à supprimer, le script fonctionne, et avec la saucisse à l'ail ou les sardines à l'huile,jamais.J'ai tout essayé des str_replace, stripslashes, addslashes...
D'avance merci pour le coup de main,
Bien cordialement,
Thierry