Moteur de recherche : Prquoi ça marche pas? - PHP - Programmation
Marsh Posté le 17-07-2003 à 14:21:59
Ba déjà, c'est quoi l'erreur ?
Marsh Posté le 17-07-2003 à 14:25:48
Voici le message d'erreur :
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/local/apache/htdocs/sites/r/roger-one.net/moteur.php3 on line 20
pas de resultat
La ligne 20 : $nb = mysql_num_rows($resultat);
Sinon, il met toujours qu'il n'y a pas de résultat.
Marsh Posté le 17-07-2003 à 14:31:09
ton erreur viens du fait que ta requette ne peut pas etre executée,
vérifie les majuscules, minuscules, c sensible a la casse!!!
essaie d'afficher ta variable pour voir ce qu'elle contien...
Marsh Posté le 17-07-2003 à 14:33:45
Ben disons que si je fais :
<? echo $sql; ?><br/>
<? echo $motcle; ?>
Ca marche parfaitement et il me met :
SELECT * FROM search_personnage WHERE per_definition LIKE '%alliance%'
alliance
(avec une recherche "alliance" ).
Marsh Posté le 17-07-2003 à 14:35:38
L'erreur signifie que la variable $resultat est vide. Avant de faire mysql_num_rows(), fais un if($resultat).
Affiche ta requête et tente de l'envoyer direct dans MySQL (via phpMyAdmin ou la ligne de commande, au choix).
Marsh Posté le 17-07-2003 à 14:43:13
T'es sur que t'es connecté sur la bonne base?
Nan parce que vu que tu fais pas de mysql_db_select je suis dubitatif sur ce qui se passe.
Pis vire le arobase devant mysql connect aussi ...
Faudrait mieux ecrire un truc dans le genre
Code :
|
Marsh Posté le 17-07-2003 à 14:46:33
Taiche a écrit : L'erreur signifie que la variable $resultat est vide. Avant de faire mysql_num_rows(), fais un if($resultat). |
J'ai ajouté : if ($resultat)
Et je n'ai plus le message d'erreur. Par contre il me met toujours qu'il n'y a pas de résultats.
Marsh Posté le 17-07-2003 à 14:52:12
Anapajari a écrit : T'es sur que t'es connecté sur la bonne base?
|
Je viens d'essayer, ça ne change rien .
Marsh Posté le 17-07-2003 à 14:54:44
essaie avec ca:
$sql = "SELECT * FROM search_personnage WHERE per_definition LIKE ('%'.$motcle.'%')";
Marsh Posté le 17-07-2003 à 14:56:33
Anapajari a écrit : T'es sur que t'es connecté sur la bonne base? |
Ah ba ui, c'est ça ! Si tu fais pas de mysql_select_db(), il faut écrire mysql_db_query($bdd, $sql); à la place du mysql_query();
Ca ira mieux
Marsh Posté le 17-07-2003 à 15:09:23
Taiche a écrit : |
MERCI BEAUCOUP !
EDIT : Avec ce script, y a pas de risque de trous de sécurité?
Marsh Posté le 17-07-2003 à 14:20:35
Bonjour tout le monde !
Je travaille sur un moteur de recherche (aidé par quelqu'un qui s'y connait pas mal en php). Mais ça marche pas... Voici le code :
Le formulaire de recherche :
Le script PHP (moteur.php3) :
C'est pour mon site ( http://www.roger-one.net ). Il contient une partie encyclopédique et donc un moteur de recherche serait un grand plus.
Sinon pour la BDD, ça se passe comme ça : Une table nommée "search_personnage" (qui contient les infos pour la partie "personnages" de mon encyclopédie STARWARS, mais bientôt toutes les parties seront référencées dans le moteur) avec plusieurs champs ("per_id"; "per_nom"; "per_taille"; (...) "per_definition" (qui deviendra une liste de mots clefs, pour l'instant c'est un court texte); "per_url" ).
Nous ne voyons pas d'ou vient l'erreur. Est ce que quelqu'un peut nous aider?