Warning: mysql_num_rows()

Fermé
kleyde89 - 20 mai 2010 à 14:49
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 - 25 mai 2010 à 13:21
Bonjour,

je suis entrain de tester mon site web en reseaux local avec wampserver.

j'ai ecris une page en php qui a pour but de rechercher des ecritures dans ma base de données. La par exemple je recherche le nom d'une ville. Lorsque le nom de ma ville n'est pas tres long, tout marche bien, mais lorque le nom de ma ville est tres long, un message d'erreur s'affiche:

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

avez vous une idée de la maniere dont je pourais reseudre ce probleme?



5 réponses

aaaaah excusez moi, j'ai encore tester, c'est plutot quand je rentre le nom d'une ville avec une "apostrophe" que ça m'affiche ce message, les trait d'union passent mais les apostrophe ne passe pas.
0
naruto-94 Messages postés 865 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 20 décembre 2012 188
Modifié par naruto-94 le 20/05/2010 à 14:55
. oups j'avais pas vu ta rep .
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 mai 2010 à 14:53
L'apostrophe est interprété de mauvaise manière (désolé c pas très francais ca XD)
Tu dois l'échapper afin qu'il ne soit pas interprété!
Généralement pour échaper un caractère on fait:
\'
0
xav3601 le " \' " ça marche pas snif snif... a moins que je l'ai mal placer^^

je le place dans le code c'est ça?

voici un bout de mon code:


<code>if($search != '') {
$sql ="SELECT * FROM loge, etat

WHERE logeType 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>');



}

quand je tape le nom d'une ville ( variable logeLocation) avec une apostrophe, l'erreur dont j'ai parler plus haut survient a la ligne 214 :

$nbSearch = mysql_num_rows ($query);
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
20 mai 2010 à 15:24
Ah ok, j'avais zappé le fait que l'apostrophe venait de la saisi utilisateurs!
Dans ce cas il faut que tu fasses un replace dans la variable que tu récupères.
Comma ca:

strNomVille = strNomVille .Replace( "'" , "''" );

et après tu insert strNomVille dans ta requête tu devais le faire actuellement et là ca devrait fonctionner!
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:18
j'ai rajouter cette chaine a mon code:

$strNomVille = $data['logeLocation'];
$strNomVille = $strNomVille .Replace( "'" , " " );

pour que lorsque je rentre le nom d'une ville avec une apostrophe, l'apostrophe soit changer en espace mais j'ai une erreur d'un tout autre genre:

Fatal error: Call to undefined function Replace() in C:\wamp\www\httpdocs\adiij\logement\admin\gestion.php on line 203

saurais-tu a quoi c'est du? sacahant que le ligne 203 est la suivante:

$strNomVille = $strNomVille .Replace( "'" , " " );
0
xav3601 Messages postés 3288 Date d'inscription lundi 10 novembre 2008 Statut Membre Dernière intervention 2 mars 2016 311
25 mai 2010 à 13:21
La fonction Replace n'existe pas en php, essaye ca:

$strNomVille = str_replace("'", " ", $strNomVille);
0