Erreur dans mon code + MySQL

hadjir Messages postés 107 Date d'inscription   Statut Membre Dernière intervention   -  
doctormad Messages postés 430 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une question :
j'ai un programme qui permet de prendre une chaine de caractére et chercher dans la base de données et sélectionnée tout les "termes" pour de tel sorte que le terme entrée par l'utilisateur t egale au terme qui existe dans la base aprés la selection.

voila mon code :

$champs11 = "offre d'emploi"
$mot=$champs11;
$nbmots=str_word_count($mot);
$tabmots=str_word_count($mot,1);
print "'";
for($i=0;$i<$nbmots;$i++)
{
print $tabmots[$i];
if ($i!=$nbmots-1) print"+";
}
$prms="";
for ($i=0;$i<$nbmots;$i++)
{
if($i==0) $prms="AND (";
$prms=$prms."occure LIKE '%".$tabmots[$i]."%'";
if ($i!=$nbmots-1) $prms=$prms." OR ";
else $prms=$prms.") ";

}

$sqlactv=mysql_query("select occure from stage where terme =".$prms."");
print "<h3> Résultat(s) trouvé(s): ".mysql_num_rows($sqlactv)."</h3>";


mais il s'affiche une erreur dans le code ce qui est en gras :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in e:\easyphp1-8\www\application\indexer_recherche.php on line 163

svp a ce q'il ya qlq peut me répondre.
merci d'avance.
A voir également:

1 réponse

doctormad Messages postés 430 Date d'inscription   Statut Membre Dernière intervention   99
 
Salut,

Un code pour le moins obscur pour un truc tout simple :)

$champ = "offre d'emploi"
$mots = explode(' ',$champ);

$requete = "SELECT occure,terme FROM stage WHERE terme ='".mysq_real_escape_string($champ)."';

if( count($mots) > 1 ){
foreach($mots as $mot){
$requete .= ' OR terme LIKE %'.mysql_real_escape_string($mot).'% ';
}
}
0