Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/02/2011, 08h56   #1
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
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 :
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
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h03   #2
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
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
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h18   #3
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
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 :
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 :
1
2
3
4
SELECT username 
FROM jom15_users
WHERE email = '$reponse[1]' 
LIMIT 0 , 30
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h22   #4
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
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 ?
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h36   #5
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
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 : 951
Points : 1 063
Points : 1 063
  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 Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/02/2011, 10h47   #6
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
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
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/02/2011, 08h23   #7
Nouveau Membre du Club
 
Inscription : février 2009
Messages : 123
Détails du profil
Informations forums :
Inscription : février 2009
Messages : 123
Points : 29
Points : 29
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
steph70 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h09.


 
 
 
 
Partenaires

Hébergement Web