Requete sql

mchiicha -  
 mchiicha -
Bonjour,

J'ai un souci assez surprenant quand même : je lance la requête suivante:

$sql_msg="SELECT DISTINCT `message_dump`, MAX(date) FROM `sysinfo_messages` WHERE `cell_infos_id`=".$id_cell." AND 'message_type' LIKE "."'".$si_type."'";
$query_msg = mysql_query($sql_msg,$connection) or die("$sql_msg<br/>Invalid query: " . mysql_error());
if ($query_msg)
{
$result_msg = mysql_fetch_assoc($query_msg);
echo( $result_msg['message_dump']) ;
}

Et ça ne m'affiche rien du tout!
J'ai vérifié l'exactitude de la requête sur ma base, ça retourne bien ce à quoi je m'attends mais là ça ne fait rien du tout!
Si quelqu'un voit où ça cloche ça m'aiderait vachement!

3 réponses

le père
 
Bonjour

si message_type est le nom d'un champ, il devrait être entre accents graves et non pas apostrophes
AND 'message_type` .. au lieu de AND 'message_type' ...
0
mchiicha
 
Ca revient au même, la requête avec apostrophes je l'avais copier de ma base de donnée où je l'ai essayé avant pour voir ce que ça retourne.
Mais même en changeant les apostrophes en cotes ça fait rien ... sniif
0
le père
 
Qui te parle de cotes ? Je parle d'accent grave.
oui ou non, message_type est-il un nom de champ ?
0
mchiicha
 
oui oui c'est bien un champ! Mnt ça marche ^^
0
oodid
 
$sql_msg="SELECT DISTINCT `message_dump`, MAX(date) FROM `sysinfo_messages` WHERE `cell_infos_id`=".$id_cell." AND 'message_type' LIKE "."<mettre un espace> '".$si_type."'";
$query_msg = mysql_query($sql_msg,$connection) or die("$sql_msg<br/>Invalid query: " . mysql_error());

Il te manque un espace là où je l'ai spécifié. Ca vient peut être de la..
Pense aussi à afficher ta requête avec un echo, pour voir sa cohérence. :)
0
le père
 
Je ne comprends pas ta remarque. Il y a déjà un espace après le LIKE

Par contre, (toujours si message_type est un nom de champ) je maintiens qu'il faut l'entourer d'accents graves ou de rien du tout, mais surtout pas de d'apostrophes ni de quotes simples ou doubles.
0