par
opusincertum » 02 déc. 2010, 02:08
@ devlop78 :
<< L'éléphant >> existe bien dans ta table ? Si oui, vérifie que ta reqête "SET NAMES" correspond bien à l'encodage utilisé sur ta page HTML. Pour éviter les problèmes, je te conseille d'utiliser le même encodage pour tout : tables, SET NAMES, php et html. Je ne peux que t'encourager à utiliser UTF-8.
Oui
L\'éléphant existe bien dans ma table. Tout est paramétré en UFT8, y compris avec SET NAMES.
@ moogli
que ce passe t il lors que taffiche cette requete ?
$sql = 'SELECT * FROM photos WHERE album=\''.$album.'\' ORDER BY id_album ASC';
echo $sql;
est ce conforme à ce que t attend ?
J'ai exactement le même problème, ça ne change rien.
@ stealth35
active ton mysql.trace_mode : ini_set('mysql.trace_mode', true);
et essaye un var_dump($resultat);
Je retrouve bien toutes mes données, dont
L\'éléphant.
-----------------------
Par ailleurs, j'ai essayé de rajouter un addslashes à mon $album, ce qui donne désormais :
L\\\'éléphant. Eh bien, c'est magique mais ça marche. Alors il faut que l'on m'explique là, parce que je n'y comprends plus rien... Voici donc le code qui passe :
Code : Tout sélectionner
$req_album = mysql_query("SELECT * FROM albums ORDER BY id_album ASC, id ASC") or die ("Erreur sql : ".mysql_error());
while ($resultat_album = mysql_fetch_array($req_album)) {
$req = mysql_query("SELECT * FROM photos WHERE album='L\\\'éléphant' ORDER BY id_album ASC") or die ("Erreur sql : ".mysql_error());
$resultat = mysql_fetch_array($req);
echo $resultat['album']; // Ça ne me retourne rien, même pas une erreur...
}
[b]@ devlop78 :[/b]
[quote]<< L'éléphant >> existe bien dans ta table ? Si oui, vérifie que ta reqête "SET NAMES" correspond bien à l'encodage utilisé sur ta page HTML. Pour éviter les problèmes, je te conseille d'utiliser le même encodage pour tout : tables, SET NAMES, php et html. Je ne peux que t'encourager à utiliser UTF-8.[/quote]
Oui [b]L\'éléphant[/b] existe bien dans ma table. Tout est paramétré en UFT8, y compris avec SET NAMES.
[b]@ moogli[/b]
[quote]que ce passe t il lors que taffiche cette requete ?
$sql = 'SELECT * FROM photos WHERE album=\''.$album.'\' ORDER BY id_album ASC';
echo $sql;
est ce conforme à ce que t attend ?
[/quote]
J'ai exactement le même problème, ça ne change rien.
[b]@ stealth35[/b]
[quote]active ton mysql.trace_mode : ini_set('mysql.trace_mode', true);
et essaye un var_dump($resultat);[/quote]
Je retrouve bien toutes mes données, dont [b]L\'éléphant[/b].
-----------------------
Par ailleurs, j'ai essayé de rajouter un addslashes à mon $album, ce qui donne désormais : [b]L\\\'éléphant[/b]. Eh bien, c'est magique mais ça marche. Alors il faut que l'on m'explique là, parce que je n'y comprends plus rien... Voici donc le code qui passe :
[code]$req_album = mysql_query("SELECT * FROM albums ORDER BY id_album ASC, id ASC") or die ("Erreur sql : ".mysql_error());
while ($resultat_album = mysql_fetch_array($req_album)) {
$req = mysql_query("SELECT * FROM photos WHERE album='L\\\'éléphant' ORDER BY id_album ASC") or die ("Erreur sql : ".mysql_error());
$resultat = mysql_fetch_array($req);
echo $resultat['album']; // Ça ne me retourne rien, même pas une erreur...
}[/code]