Bonjour à tous voila j'ai un sérieux problème avec une variable php qui fait planter une requête SELECT en sql !
Le pire c'est que si je fait un ECHO de la requete et que je la colle dans Phpmyadmin ça fonctionne parfaitement !

Le but de ce code est de récupérer dans des posts les noms des images insérées en bbcode et de faire une requête pour savoir à quel id elle correspondent dans le forum phpbb3. L'intéret est de pouvoir afficher des actualités sur un site à partir d'un forum phpbb.

ex : "Voici l'image de l'article :
[attachment=0:ysyqegvy]essai.jpg[/attachment:ysyqegvy]
Qu'en pensez vous ?"

J'utilise une regex pour extraire le nom de l'image grâce à preg_match_all.
Cette regex fonctionne très bien, mais lors du select pour récupérer l'id aucun résultat n'est retourné.

Code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
preg_match_all('#\[attachment=[0-9]:[0-9a-z]+\](.+)\[/attachment:[0-9a-z]+\]#Usi', $row["post_text"], $res);
if (is_array($res[1])) {
    foreach($res[1] as $var) {
        $query = "SELECT `attach_id` FROM `phpbb3_attachments` WHERE `topic_id` = '$topic' AND `real_filename` = '$var' LIMIT 1";
        $rep = mysql_query($query) or die('Erreur '.mysql_error());
        $id = mysql_fetch_array($rep);
        print_r($id);
    }
}
Dernière chose :
ECHO $res[1][0] affiche 'leonard.gif'
Si je remplace $var dans la requete par une de ses valeurs comme 'leonard.gif' la requète fonctionne et retourne bien un résultat...
[$query = "SELECT `attach_id` FROM `phpbb3_attachments` WHERE `topic_id` = '24' AND `real_filename` = 'leonard.gif' LIMIT 1";]

J'implore votre aide !!
Merci