A voir également:
- Problème php et requête sql
- Easy php - Télécharger - Divers Web & Internet
- Blob sql ✓ - Forum Webmastering
- Erreur lors de l'envoi de la requête facebook marketplace - Forum Facebook
- Il y a eu un problème avec cette requête. nous travaillons à sa résolution aussi vite que nous le pouvons. - Forum Facebook
- Php natif - Forum PHP
7 réponses
Utilisateur anonyme
1 juin 2012 à 16:31
1 juin 2012 à 16:31
Bonjour
C'est que tu n'entres pas dans le while...
Et tu n'y entres pas car il n'y a aucune réponse à ta requête.
Et il n'y a aucune réponse car ta requête est incorrecte. Tu as oublié les apostrophes autour de la valeur de login :
Et pourquoi d'ailleurs ne fais -tu pas directement :
C'est que tu n'entres pas dans le while...
Et tu n'y entres pas car il n'y a aucune réponse à ta requête.
Et il n'y a aucune réponse car ta requête est incorrecte. Tu as oublié les apostrophes autour de la valeur de login :
$sql = "SELECT pwd FROM user WHERE login='$login'";
Et pourquoi d'ailleurs ne fais -tu pas directement :
$sql = "SELECT * FROM user WHERE login='$login' AND pwd='$pwd_ancien'";
En fait je ne mets pas les apostrophes car php et sql le comprennent aussi et j'ai toujours eu ce réflexe (en cours...) enfin avec ou sans j'ai essayé ça ne changeait rien malheureusement...
Pour ta seconde requête, j'y avais pensé mais malheureusement se serait juste pour une exploitation "utile" du changement de mot de passe. Ou alors je ne vois pas comment (disons qu'il fait chaud et j'ai un peu de mal à raisonner là...)
J'ai besoin de tous mes messages d'erreurs complets pour les utilisateurs.
Et quand tu dis que je ne rentre pas dans mon while? je ne comprends pas en fait. Je sens qu'il y a qqch de bien évident qui m'échappe mais j'ai beau lire et relire et comparer avec mes autres requêtes, je ne vois pas l'évident malheureusement
en tout cas merci d'avoir apporté ton avis
Thomas
Pour ta seconde requête, j'y avais pensé mais malheureusement se serait juste pour une exploitation "utile" du changement de mot de passe. Ou alors je ne vois pas comment (disons qu'il fait chaud et j'ai un peu de mal à raisonner là...)
J'ai besoin de tous mes messages d'erreurs complets pour les utilisateurs.
Et quand tu dis que je ne rentre pas dans mon while? je ne comprends pas en fait. Je sens qu'il y a qqch de bien évident qui m'échappe mais j'ai beau lire et relire et comparer avec mes autres requêtes, je ne vois pas l'évident malheureusement
en tout cas merci d'avoir apporté ton avis
Thomas
Utilisateur anonyme
Modifié par le père. le 1/06/2012 à 17:02
Modifié par le père. le 1/06/2012 à 17:02
En fait je ne mets pas les apostrophes car php et sql le comprennent aussi
Mais ça n'a pas le même sens !
Supposons que $login contienne toto
Quand tu écris WHERE login=".$login;
ça devient WHERE login=toto
Et mysql va chercher une ligne ou le champ login est égal au champ toto. Ceci n'a pas de sens, car tu n'as aucun champ qui s'appelle toto !
Alors que quand tu écris WHERE login='$login'", ça devient WHERE login='toto' et là, mysql recherche bien une ligne où le champ login contient la valeur toto.
en tout cas merci d'avoir apporté ton avis
Ce n'est pas un avis, c'est une certitude : tu avais une erreur à ce niveau-là. Elle n'explique peut-être pas tout, il y en a peut-être d'autres, mais il n'y a aucun doute là-dessus.
Pour voir s'il y a ou non une erreur :
Mais ça n'a pas le même sens !
Supposons que $login contienne toto
Quand tu écris WHERE login=".$login;
ça devient WHERE login=toto
Et mysql va chercher une ligne ou le champ login est égal au champ toto. Ceci n'a pas de sens, car tu n'as aucun champ qui s'appelle toto !
Alors que quand tu écris WHERE login='$login'", ça devient WHERE login='toto' et là, mysql recherche bien une ligne où le champ login contient la valeur toto.
en tout cas merci d'avoir apporté ton avis
Ce n'est pas un avis, c'est une certitude : tu avais une erreur à ce niveau-là. Elle n'explique peut-être pas tout, il y en a peut-être d'autres, mais il n'y a aucun doute là-dessus.
Pour voir s'il y a ou non une erreur :
$requete = mysql_query($sql) or die(mysql_error());
Je n'ai aucune erreur qui s'affiche. Donc voilà c'est encore et toujours un grand mystère pour moi...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
4 juin 2012 à 14:50
4 juin 2012 à 14:50
As-tu fait un echo 'coucou'; à l'intérieur du while pour voir si tu y entrais ?
Et un echo 'coucou2' à côté de l(update pour voir si tu arrives jusque là ?
Et un echo 'coucou2' à côté de l(update pour voir si tu arrives jusque là ?
Oui je l'ai fait et je n'arrivais pas jusqu'à l'update car je n'avais pas de changement de mot de passe.
Par contre, je ne sais pas par quel miracle, mon code s'est mis à fonctionné (pourtant je rechargeais mon serveur wamp et vidait régulièrement mon cache). Enfin toujours est t'il que mes messages d'erreurs fonctionnent et que ma table se met à jour. Pas comme je le veux mais ça marche, il ne met reste plus qu'à régler tout ça pour que cela fonctionne comme je le souhaite
En tout cas merci de ton aide
Cordialement
Thomas
Par contre, je ne sais pas par quel miracle, mon code s'est mis à fonctionné (pourtant je rechargeais mon serveur wamp et vidait régulièrement mon cache). Enfin toujours est t'il que mes messages d'erreurs fonctionnent et que ma table se met à jour. Pas comme je le veux mais ça marche, il ne met reste plus qu'à régler tout ça pour que cela fonctionne comme je le souhaite
En tout cas merci de ton aide
Cordialement
Thomas
Petite précision, mon code marche correctement sous IE...
Les problèmes arrivent sur mozilla et chrome! donc se n'était pas que le code...
Désolé de t'avoir fait perdre du temps!
Bonne journée
Thomas
Les problèmes arrivent sur mozilla et chrome! donc se n'était pas que le code...
Désolé de t'avoir fait perdre du temps!
Bonne journée
Thomas