IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Abandon]Problème de requete incomplète


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Points : 68
    Points
    68
    Par défaut [Abandon]Problème de requete incomplète
    Bonjour,

    J'essaie de recuperer username et mot de passe depuis 2 tables de 2 bases différentes en comparant les adresses mails qui sont identiques.

    J'arrive bien a recuperer le mot de passe et l'adresse mail mais le username me resiste. Je pense donc que j'ai fait une betise.

    Est ce que vos yeux avertis peuvent me pointer mon erreur svp ?

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
     
    //Connection Mysql base 1
    mysql_connect("mysql5-11.perso","root","*****")or die("Problème avec la base de données");
    mysql_select_db("***joomla")or die ("pas de connection");
     
    // récupération du mot de passe après comparaison de l'adresse mail
     
    $reponse = mysql_query("SELECT inscriptions.mdp, inscriptions.mail FROM inscriptions,oubli WHERE inscriptions.mail = oubli.mail
    LIMIT 0 , 30"); // Requête SQL
     
    //Connexion Mysql base 2
    mysql_connect("sql4.modules","1184102-1","*******")or die("Problème avec la base de données");
    mysql_select_db("1184102-1")or die ("pas de connection");
     
    // Récupération du login/username après comparaison avec l'adresse mail
     
    $reponse1 = mysql_query("SELECT username FROM jom15_users
    WHERE email = '$reponse[1]' LIMIT 0 , 30"); // Requête SQL
     
    // On fait une boucle pour lister tout ce que contient la table :
    //***********************************************************************************************************************
    if (($reponse) || ($reponse1))
    {
    //*************************************************************************************************************************
    while (($donnees = mysql_fetch_array($reponse)) || ($donnees1 = mysql_fetch_array($reponse1)))
     
    {
     
    ?>
     
      <tr>
     
    	<td><center><font face="tahoma" size="2"><?php echo $donnees1['username']; ?></font></center></td>
     
    	<td><center><font face="tahoma" size="2"><?php echo $donnees['mdp']; ?></font></center></td>
     
            <td><center><font face="tahoma" size="2"><?php echo $donnees['mail']; ?></font></center></td>
     
      </tr>
     
    <?php
     
    }
     
     
     
    //mysql_close(); // Déconnexion de MySQL
    //****************************************************************************************************
    }
    else
    {
    echo 'Pas de champs!!!';
    }
    //****************************************************************************************************
    ?>

    Dans mon tableau, je récupere mdp et mail mais pas username.

    Merci pour votre aide

    Steph70

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Points : 68
    Points
    68
    Par défaut
    J'ai l'impression que c'est ma deuxième requete qui ne passe pas.

    je viens d'essayer en remplacant mes || par des && et la je n'ais plus de resultat.

    A l'aide svp

    Amicalement
    Steph70

  3. #3
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    je voudrais être méchant je dirai RTFM, mais pas aujourd'hui. Tu utilises deux ressources "mysql" différentes. Dans ce cas il faut les définir explicitement tout le temps parce que sinon le pilote va toujours utiliser la dernière ressource utilisée.

    ceci dit, ici tu n'as pas ce problème parce que tu ouvres astucieusement les bases (mais bon, un peu de rigueur ne fait jamais de mal).

    personnellement je suis vraiment ennuyé par cette ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    while (($donnees = mysql_fetch_array($reponse)) || ($donnees1 = mysql_fetch_array($reponse1)))
    il m'est arrivé de faire différents tests avec des langages de programmations qui lorsqu'ils ont évalué que la deuxieme moitié d'une expression booleenne était sans incidence sur le résultat final de ladite expression booleenne, ne calcule tout simplement pas l'expression booleenne.

    Déjà tu peux vérifier ce point.

    bon l'autre truc c'est qu'on comprends vraiment pas ce que tu veux faire. Ceci n'a pas vraiment de sens pour moi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT username 
    FROM jom15_users
    WHERE email = '$reponse[1]' 
    LIMIT 0 , 30
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Points : 68
    Points
    68
    Par défaut
    Avec le $reponse[1], j'essaie de comparer l'adresse mail de ma base 2 avec l'adresse mail de ma base 1 que j'ai recuperer dans ma requete précédente.

    Si je prends les 2 requetes séparement, cela fonctionne.

    Mais lorsque j'essaie de les faire ensemble, je n'en ais plus que la moitie.

    Je sens que je vais m'arracher les 3 cheveux qu'il me reste.

    Amicalement
    Steph70

    Heuu, ca veut dire quoi RTFM ?

  5. #5
    Membre émérite
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Points : 2 446
    Points
    2 446
    Par défaut
    1. si j'ai bien suivi tu as liste d'adresse mail retournée via la $reponse.
    2. Apres tu requetes quelque choses qui n'a rien à voir avec cette condition enigmatique email = $reponse[1] et ça c'est $reponse1.
    3. Ensuite seulement tu commences à lire les lignes de données via le mysql_fetch*() mais de façon bisarre: tu essaies de faire les deux en même temps mais tu sais pas si yen a autant des deux côtés ni même si la syntaxe est correctement évaluée à cause de l'optimisation.


    pour le reste google ne fait pas de mal.
    PHP fait nativement la validation d'adresse électronique .
    Celui qui a inventé mysql_connect(...) or die() est déjà mort plusieurs fois.

    Utilisez le bouton résolu!

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Points : 68
    Points
    68
    Par défaut
    Alors a peu près oui.

    Je recommence les explications. Dans la premiere base et dans la table jom15_users, j'ai des logins avec des adresse mails.

    Dans la deuxième base, dans ma table inscriptions j'ai les adresses mails et les mots de passe. Dans ma table oubli, j'ai des adresses mails.

    Mon but, prendre l'adresse mail de ma table oubli et la comparer a l'adresse mail contenu dans ma table inscription pour pouvoir recuperer le mot de passe correspondant.
    Puis toujours avec l'adresse mail, la comparer avec celle de la premiere base dans ma table jom15_users pour cette fois recuperer le login (username).

    Complexe, je l'admet, mais je ne peux pas faire autrement avec le cms joomla qui me crypte le mdp dans sa base jom15_users.

    Enfin, je tiens a te dire que j'apprécie enormement ton aide mais néanmoins que le commentaire sur la recherche google est un peu inutile et déplacé.

    Cela fait plus de 24 h que je recherche sur mon ami google, sans resultat, et c'est ensuite que je viens demander de l'aide sur ce forum. N'est pas comme cela que tout le monde fait ? (ou que tout le monde devrait faire ? lol)

    Merci encore si tu veux continuer à m'aider.
    Amicalement
    Steph70

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Points : 68
    Points
    68
    Par défaut
    Bon ben, je vois avec deception que toute vérité n'est pas bonne à dire.

    Tant pis.

    Merci quand même pour l'aide (incomplète mais réelle) apportée.

    J'abandonne le sujet.

    Amicalement

Discussions similaires

  1. [EJBQL] Problème de requete
    Par rivierem dans le forum Java EE
    Réponses: 3
    Dernier message: 16/10/2004, 10h05
  2. Problème sous requete MySQL
    Par gavelin dans le forum Langage SQL
    Réponses: 3
    Dernier message: 20/07/2004, 10h36
  3. Problème de Requete...
    Par sebiv dans le forum Langage SQL
    Réponses: 6
    Dernier message: 29/04/2004, 16h21
  4. Problème de requete avec Innodb
    Par silef dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/04/2004, 12h54
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo