Problème avec une requête sql

Résolu
Luune Messages postés 25 Statut Membre -  
Luune Messages postés 25 Statut Membre -
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

3 réponses

  1. Felice_ Messages postés 271 Statut Membre 11
     
    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
    1. Luune Messages postés 25 Statut Membre 5
       
      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
    2. Felice_ Messages postés 271 Statut Membre 11
       
      Ça donne quoi :
      $sql = 'SELECT mail, mdp, nomsociete FROM users inner join societe on users.idsociete=societe.idsociete;


      ?
      0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
  3. Luune Messages postés 25 Statut Membre 5
     
    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