scn68100
Messages postés153Date d'inscriptiondimanche 27 août 2006StatutMembreDernière intervention26 décembre 2019
-
10 sept. 2014 à 18:57
jordane45
Messages postés37515Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention31 mai 2023
-
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
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