Recherche infructueuse [Résolu]

scn68100 110 Messages postés dimanche 27 août 2006Date d'inscription 6 juillet 2018 Dernière intervention - 10 sept. 2014 à 18:57 - Dernière réponse : jordane45 22675 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 3 octobre 2018 Dernière intervention
- 16 sept. 2014 à 11:58
Bonjour,
L'icône WAMP est verte
Quand je vais sous phpMyAdmin, et que j'entre la requête SQL
select from voyage where Pseudo = 'toto'
l'enregistrement est bien trouvé à l'exécution

Quand je suis sous PHP:

if ($stmt = mysqli_prepare($connexion, $query)) {
// Exécution de la requête
mysqli_stmt_execute($stmt);
// Association des variables de résultat
mysqli_stmt_bind_result($stmt, $Col1,$Col2);
// Lecture des valeurs
while (mysqli_stmt_fetch($stmt)) {
echo ("Nom " . $Col1 ." voyage ".$Col2."<br>");
}
// Fermeture de la commande
mysqli_stmt_close($stmt);
echo ("<br>");
}
Tous les enregistrements sont listés, dont "toto"
Mais si je fais une recherche de "toto"

$reponse = mysqli_query($connexion, "SELECT * FROM voyage WHERE Pseudo = 'toto '" ) or die("Erreur à la recherche " .mysqli_error());
$NbrEng = mysql_num_rows($reponse);
echo "Recherch Il y a ".$NbrEng." enregistrement(s) dans la table voyage.<br>";
$donnees = mysql_fetch_array($reponse);
$Nom=$donnees['Pseudo'];
$Nombre=$donnees['Nombre'];
echo ("Cherché " .$Nom_W."<br> Trouvé Nom " . $Nom ." Wvoyage " .$Nombre."<br><br>");
Rien n'est trouvé !
Pourtant, je n'ai pas d'erreur !
Une idée ?

Cordialement
Sauveur

Windows 8.1 Professionnel 64 bits, processeur x64
Apache 2.4.9
PHP 5.5.12
MySQL 5.6.17PHP 5.5.12
MySQL 5.6.17
Afficher la suite 

Votre réponse

5 réponses

jordane45 22675 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 3 octobre 2018 Dernière intervention - Modifié par jordane45 le 10/09/2014 à 19:06
0
Merci
Bonjour,


Lorsque l'on a des soucis de requêtes en PHP .. la première chose à faire est de faire un ECHO de la requête générée par la page ... puis de copier/coller cette requête dans PHPMyadmin... en général.. l'erreur saute aux yeux et/ou un message d'erreur apparait indiquant où regarder..


Donc, l'idéal est de séparer le chaine ( la requête) de l'instruction qui l'éxécute :

// Je sors la requête de l'éxécution:
//$sql= "SELECT * FROM voyage WHERE Pseudo =  'toto '" ;
// ET 
// Je la met en forme avec des retours à la ligne pour qu'elle soit plus lisible.
//
$sql= "SELECT * 
     FROM voyage 
     WHERE Pseudo =  'toto '" ;

// j'en fait un ECHO pour savoir ce qu'elle vaut une fois générée par la page web :

Echo "<br> La requête est : <br>".$sql."<br>";

// J'éxécute la requête :
$reponse = mysqli_query($connexion, $sql) or die("Erreur  " .mysqli_error());  
 $NbrEng = mysql_num_rows($reponse);




Enfin.. là comme ça... je peux déjà te dire que tu dois surement avoir un espace en trop à la fin de toto ....
'toto '
... est différent de :
'toto' 
..

Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
Commenter la réponse de jordane45
NHenry 14261 Messages postés vendredi 14 mars 2003Date d'inscriptionModérateurStatut 22 septembre 2018 Dernière intervention - 10 sept. 2014 à 19:13
0
Merci
Relis un peu ton code :
mysqli_query
mysql_num_rows
scn68100 110 Messages postés dimanche 27 août 2006Date d'inscription 6 juillet 2018 Dernière intervention - 11 sept. 2014 à 07:31
Bien vu !!!
J'ai fait des copier/coller et n'ai pas tout modifié !
Merci
il vaut mieux conclure les requetes sql par un point-virgule
jordane45 22675 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 3 octobre 2018 Dernière intervention - 16 sept. 2014 à 11:58
il vaut mieux conclure les requetes sql par un point-virgule
Oui...certes..... mais quel est le rapport avec le souci rencontré ( et déjà résolu ! )???
Commenter la réponse de NHenry

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.