Recherche infructueuse [Résolu]

Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
- - Dernière réponse : jordane45
Messages postés
23600
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
- 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

2 réponses

Messages postés
23600
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
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
Messages postés
14319
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
11 décembre 2018
0
Merci
Relis un peu ton code :
mysqli_query
mysql_num_rows
scn68100
Messages postés
117
Date d'inscription
dimanche 27 août 2006
Dernière intervention
20 novembre 2018
-
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
Messages postés
23600
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
13 décembre 2018
-
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.