Problème avec une requête sql [Résolu]

Luune 24 Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention - 17 mai 2017 à 12:56 - Dernière réponse : Luune 24 Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention
- 17 mai 2017 à 14:01
Bonjour,

S'il vous plait est ce que vous pouvez me dire pourquoi cette requête ne fonctionne pas alors que je l'ai tester a plusieurs reprise elle est 100% correcte


<?php $sql = 'SELECT mail, mdp, nomsociete FROM users inner join societe on users.idsociete=societe.idsociete where mail="'.mysql_escape_string($_POST['mail']).'" AND mdp="'.mysql_escape_string($_POST['mdp']).'" AND nomsociete="'.$_SESSION['nomsociete'].'"';
?>


quand j'essaie avec cella ca marche:

$sql = 'SELECT * FROM users WHERE mail="'.mysql_escape_string($_POST['mail']).'" AND mdp="'.mysql_escape_string($_POST['mdp']).'"';


mais dès que j'ajoute users.idsociete=societe.idsociete ça ne retourne rien, comme dans cette requete :

	$sql = 'SELECT mail, mdp, nomsociete FROM users inner join societe on users.idsociete=societe.idsociete where mail="'.mysql_escape_string($_POST['mail']).'" AND mdp="'.mysql_escape_string($_POST['mdp']).'"';


Merci d'avance pour vos réponses
Afficher la suite 
24Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention

5 réponses

Répondre au sujet
Felice_ 266 Messages postés mardi 25 avril 2017Date d'inscription 20 juillet 2017 Dernière intervention - 17 mai 2017 à 13:09
0
Utile
2
D'accord mais dans ce cas dans tes deux tables tu n'as pas les ids qui correspondent.

As-tu phpMyAdmin installé ? Tu peux regarder que les ids existent dans chaque tables
Luune 24 Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention - 17 mai 2017 à 13:17
Merci Felice pour ta réponse.
pour les ids ils correspondent
oui j'ai installé phpMyAdmin, c'est la ou j'ai testé la requête et elle me retourne le résultat souhaité
Felice_ 266 Messages postés mardi 25 avril 2017Date d'inscription 20 juillet 2017 Dernière intervention - 17 mai 2017 à 13:43
Ça donne quoi :
$sql = 'SELECT mail, mdp, nomsociete FROM users inner join societe on users.idsociete=societe.idsociete;


?
Commenter la réponse de Felice_
jordane45 19213 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 décembre 2017 Dernière intervention - Modifié par jordane45 le 17/05/2017 à 14:01
0
Utile
Bonjour,

1 - Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
http://www.commentcamarche.net/faq/43261-php-l-extension-mysql-est-obsolete#top

À la place, tu peux (<gras DOIS </gras> ) utiliser l'extension MySQLi ou l'extension PDO_MySQL
http://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

Si tu choisis PDO, pense à activer la gestion des erreurs : http://www.commentcamarche.net/faq/46512-pdo-gerer-les-erreurs


2 - Il est préférable de récupérer les variables AVANT de les utiliser
$mail = !empty($_POST['mail']) ? mysql_escape_string($_POST['mail']) : NULL;
$mdp = !empty($_POST['mdp']) ? mysql_escape_string($_POST['mdp']) : NULL;

if($mail && $mdp){
$sql = "SELECT mail, mdp, nomsociete 
          FROM users U
          INNER JOIN societe S ON S.idsociete = U.idsociete 
          WHERE mail='$mail' 
             AND mdp='$mdp' ";

echo "La requete est :" . $sql;

//la suite de ton code


} // fin du if


3 - Peux tu faire un echo de ta variable $sql et nous montrer ce que ça t'affiche. ( puis copier ce résultat dans ton phpmyadmin afin de t'assurer qu'elle marche telle qu'elle en sql )


Cordialement, 
Jordane                                                                 
Commenter la réponse de jordane45
Luune 24 Messages postés mercredi 26 avril 2017Date d'inscription 25 juillet 2017 Dernière intervention - 17 mai 2017 à 14:01
0
Utile
Elle me retourne 3 enregistrements avec le mail, mdp et le nomsociete
J'ai trouvé ou est le problème, c'est dans une boucle que j'ai fais après la requête
Merciii pour le temps accordé
Commenter la réponse de Luune