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 -
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.
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:
- Erreur dans mon code + MySQL
- Code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code blocks - Télécharger - Langages
1 réponse
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).'% ';
}
}
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).'% ';
}
}