MYSQL problème LIKE IN
Posté : 18 févr. 2008, 16:29
Bonjour
j'ai un petit problème avec la syntaxe de LIKE IN avec mysql 5.0.45
c'est pour des projets de programmation pour l'iut,
j'ai ce code :
pourriez vous me dire d'où vient le problème ?
merci
j'ai un petit problème avec la syntaxe de LIKE IN avec mysql 5.0.45
c'est pour des projets de programmation pour l'iut,
j'ai ce code :
if(!empty($realisateurs))
{
$tables.=",r_film_realisateur rfrea ";
$champs.=",rfrea.* ";
$conditions.=" AND (rfrea.id_film=f.id_film AND rfrea.id_real IN (
SELECT id_real from realisateur WHERE nom_r LIKE IN(".sepLigneRech($realisateurs).") OR prenom_r LIKE IN (".sepLigneRech($realisateurs).")))";
}
avec la fonction sepLigneRech(
function sepLigneRech($valeur)
{
$return="";
$valeur2=explode("\r\n",$valeur);
foreach($valeur2 as $clee=>$val)
{
$valeur2[$clee]=trim($valeur2[$clee]);
if(!empty($valeur2[$clee]))
{
$valeur3=explode(" ",$valeur2[$clee]);
foreach($valeur3 as $klee => $vl)
{
if(!empty($vl))
{
$return.="'%$vl%',";
}
}
}
}
$return=trim($return); // servira à supprimer la dernière virgule
$return= substr($return,0,strlen($return)-1);
echo "<br>$return";
return $return;
}
donc au final voici un bout de la requête et le résultat
avec la table realisateur :SELECT id_real
FROM realisateur
WHERE nom_r LIKE
IN (
'%Hou%', '%Philippe%'
)
LIMIT 0 , 30
MySQL a répondu:Documentation
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'IN ( '%Hou%' , '%Philippe%' )
LIMIT 0, 30' at line 1
mais je n'arrive pas a voir le problème, j'ai essayé plusieurs styles de syntaxe mais rienCREATE TABLE `realisateur` (
`id_real` int(4) NOT NULL auto_increment,
`nom_r` varchar(50) NOT NULL default '',
`prenom_r` varchar(50) NOT NULL default '',
PRIMARY KEY (`id_real`),
UNIQUE KEY `nom_r` (`nom_r`,`prenom_r`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=75 ;
pourriez vous me dire d'où vient le problème ?
merci
en haut à gauche de ce sujet.