Signaler

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

Posez votre question Luune 14Messages postés mercredi 26 avril 2017Date d'inscription 17 mai 2017 Dernière intervention - Dernière réponse le 17 mai 2017 à 14:01 par Luune
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 
Utile
+0
plus moins
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 14Messages postés mercredi 26 avril 2017Date d'inscription 17 mai 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é
Répondre
Felice_ 172Messages postés mardi 25 avril 2017Date d'inscription 21 mai 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;


?
Répondre
Donnez votre avis
Utile
+0
plus moins
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                                                                 
Donnez votre avis
Utile
+0
plus moins
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é
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !