Warning: mysql_num_rows()

kleyde89 -  
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   -
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

kleyde89
 
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   Statut Membre Dernière intervention   188
 
. oups j'avais pas vu ta rep .
0
xav3601 Messages postés 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
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
kleyde89
 
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 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
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   Statut Membre Dernière intervention  
 
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 3289 Date d'inscription   Statut Membre Dernière intervention   311
 
La fonction Replace n'existe pas en php, essaye ca:

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