Problème avec une requête sql

Résolu/Fermé
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - 17 mai 2017 à 12:56
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 - 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
A voir également:

3 réponses

Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
17 mai 2017 à 13:09
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
0
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
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é
0
Felice_ Messages postés 265 Date d'inscription mardi 25 avril 2017 Statut Membre Dernière intervention 20 juillet 2017 11
17 mai 2017 à 13:43
Ça donne quoi :
$sql = 'SELECT mail, mdp, nomsociete FROM users inner join societe on users.idsociete=societe.idsociete;


?
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
Modifié le 17 mai 2017 à 14:01
Bonjour,

1 - Attention, l'extension mysql était obsolète en PHP 5.5.0, et a été supprimée en PHP 7.0.0.
https://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
https://www.commentcamarche.net/faq/44117-connexion-a-une-base-avec-pdo-mysqli

Si tu choisis PDO, pense à activer la gestion des erreurs : https://forums.commentcamarche.net/forum/affich-37584941-php-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                                                                 
0
Luune Messages postés 24 Date d'inscription mercredi 26 avril 2017 Statut Membre Dernière intervention 25 juillet 2017 5
17 mai 2017 à 14:01
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é
0