Erreur dans mon code + MySQL
hadjir
Messages postés
132
Statut
Membre
-
doctormad Messages postés 456 Statut Membre -
doctormad Messages postés 456 Statut Membre -
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
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Code activation windows 10 - 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).'% ';
}
}