Warning: mysql_num_rows()

Fermé
kleyde89 Messages postés 18 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 5 juillet 2010 - 25 mai 2010 à 10:47
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 - 25 mai 2010 à 13:23
Bonjour,

voici un bout de mon code en php me permettant d'effectuer une recherche par type ( logetype) par nom ( logeNom) et par localisation (logeLocation) dans ma base de données:


if($search != '') {
$sql ="SELECT * FROM loge,etat
WHERE logeType LIKE '%$search%'
AND logeEtat = etatId
AND logeEtat = 0
OR logeNom LIKE '%$search%'
AND logeEtat = etatId
AND logeEtat = 0
OR logeLocation LIKE '%$search%'
AND logeEtat = etatId
AND logeEtat = 0;";

$query = mysql_query($sql);
$nbSearch = mysql_num_rows ($query);


echo('<div id="resultat-recherche-news">');
echo('Nombre de resultats '.$nbSearch);

if ($nbSearch == 0){

echo('<p>Aucun resultats pour : '.$search.'</p>');

echo('</div>');



}


}else {
$sql ="SELECT * FROM loge,etat
WHERE logeEtat = etatId
AND logeEtat = 0
ORDER BY $order $tri";
}

$query = mysql_query($sql);


while ($data = mysql_fetch_assoc($query)){

seulement quand je teste mon site en local, que je veux faire une recherche, si je tape un nom comportant une apostrophe ça me sort une erreur:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\wamp\www\httpdocs\adiij\logement\admin\gestion.php on line 217

sachant que la ligne 217 est la suivante:

$nbSearch = mysql_num_rows ($query);

et

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in C:\wamp\www\httpdocs\adiij\logement\admin\gestion.php on line 243

sacant que la ligne 243 est la suivante:

while ($data = mysql_fetch_assoc($query)){



2 réponses

wyllos Messages postés 160 Date d'inscription dimanche 3 juin 2007 Statut Membre Dernière intervention 15 septembre 2011 5
25 mai 2010 à 11:00
il te faut echapper tes search
0
kleyde89 Messages postés 18 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 5 juillet 2010
25 mai 2010 à 11:46
comment???
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
25 mai 2010 à 11:47
Avec la fonction addslashes(), par exemple :

http://php.net/manual/fr/function.addslashes.php
0
kleyde89 Messages postés 18 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 5 juillet 2010
25 mai 2010 à 12:57
j'ai rajouter au dessus de mon bout de code un :

addslashes($search);
sa ne met aucune erreur mais sa ne marche pas
0
jeangilles Messages postés 816 Date d'inscription samedi 21 juin 2008 Statut Membre Dernière intervention 17 juillet 2012 186
25 mai 2010 à 13:23
Non ca serait plutôt un $query = mysql_query(addslashes($sql));
0