IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Problème de sélection dans un BDD


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 44
    Par défaut Problème de sélection dans un BDD
    Bonjour à tous,

    Voilà, j'ai un problème avec une requête de sélection vers une base de donnée MySQL.

    C'est une simple requête, la voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT * FROM utilisateurs WHERE pseudo='".$_POST['pseudo']."'
    AND mot_de_passe=PASSWORD('".$_POST['mdp']."');
    Le problème est que le script fonctionne parfaitement sur mon serveur local mais pour sur le serveur de mon hébergeur, alors que :
    * Le script est totalement identique
    * MySQL ne signal aucune erreurs

    La seul et unique différence réside dans le faite que le champ "mot_de_passe" est de type VARCHAR(16) sur le serveur de l'hébergeur et CHAR(16) sur le mien. ( j'ai déjà tenté de changé le type, mais MySQL fait automatiquement la conversion CHAR(16) => VARCHAR(16) )

    En faite, ma requête ne renvoie jamais de résultat, même quand je suis sûr qu'il y en as un !

    Avez vous des idées ?

    Merci d'avance,
    Calen

    PS: Voici le code complet sur la requête MySQL

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
     
    if(isset($_POST['pseudo']) AND $_POST['pseudo'] != NULL) { 
     
    $erreur = NULL;
     
    $strSQL = "SELECT ID, prenom, theme FROM utilisateurs WHERE pseudo='".$_POST['pseudo']."'
    AND mot_de_passe=PASSWORD('".$_POST['mdp']."');";
     
    $resultat = requete_SQL($strSQL); // C'est une fonction que j'ai crée
     
    if(mysql_num_rows($resultat) == 0) {
    	$erreur .= '<p>Aucun utilisateur ne correspond au nom d\'utilisateur
    	et / ou mot de passe.</p>';
    }
    else {
    $table_result = mysql_fetch_array($resultat);
     
    $_SESSION['ID'] = $table_result['ID'];
    $_SESSION['prenom'] = $table_result['prenom'];
    $_SESSION['pseudo'] = $_POST['pseudo'];
    $_SESSION['theme'] = $table_result['theme'];	
     
    header('Location: accueil.php');
    }
    }

  2. #2
    Membre chevronné Avatar de Joe Le Mort
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    392
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 392
    Par défaut
    C'est quoi ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PASSWORD('".$_POST['mdp']."')
    elle est ou cette fonction PASSWORD() ??

  3. #3
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par Joe Le Mort
    C'est quoi ca ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PASSWORD('".$_POST['mdp']."')
    elle est ou cette fonction PASSWORD() ??
    C'est une fonction MySQL.

    Citation Envoyé par calenfeaion
    * MySQL ne signal aucune erreur
    Est-ce que ta fonction requete_SQL passe les requêtes dans le genre de ce que je fais dans ma signature ?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 44
    Par défaut
    @Eusebius :

    Dans le doute, voici ma fonction requete_SQL(), qui, je le rappelle, fonctionne parfaitement sur mon serveur local :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    function requete_SQL($str_SQL, $status) {
    # Cette fonction permet de faire une requete de type SQL a la base de donne
    # /!\ Requiere la fonction connexion_DB /!\
     
    	# Execute la requete proprement dite
    	$resultat = mysql_query($str_SQL);
     
    	# Renvoi du status de la requete effectue
    	if($resultat) {
    		$retour = '<p><font color="green"><b>
    		La requ&ecirc;te a &eacute;t&eacute; effectu&eacute; avec succ&egrave;s.
    		</b></font></p>';
    	}	
    	else {
    		$retour = '<p><font color="red"><b>La requ&ecirc; &eacute;chou&eaute;.<br />';
    		$retour .= 'Erreur SQL : ' . mysql_error() . '<br />';
    		$retour .= 'SQL string : ' . $str_SQL . '<br /></b></font></p>';
    	}
     
    	# Affiche le status de la requete
    	if($status == 'oui') { print $retour; }	
     
    	# Retour de la valeur
    	return $resultat;
    }
    Quand je fais un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $resultat = requete_SQL($strSQL, 'oui');
    Je reçois un :
    La requête a été effectué avec succès.
    Donc, j'imagine que c'est OK pour la requête, cependant, la requête ne renvois jamais de résultat.

    Néanmoins, une requête du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM `utilisateurs`
    WHERE pseudo = 'webmaster'
    Me renvois l'enregistrement, mais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM `utilisateurs`
    WHERE mot_de_passe = PASSWORD( 'lemotdepasse' )
    N'en renvoi aucun, alors que ça devrait !

    Bref bref, je ne comprends pas grand chose...

    Merci pour vos réponses,
    Calen

  5. #5
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Je me demande si PASSWORD a la même implémentation sur tous les systèmes ?

    D'après ce que je vois le problème est plus côté MySQL que PHP (système ou typage de la colonne). Le passage de la requête, vu le code et les résultats, n'a pas l'air de poser de pb en soi.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 44
    Par défaut
    Je me demande si PASSWORD a la même implémentation sur tous les systèmes ?
    Je me demandais là même chose en faite, mais vu que j'ai crée un utilisateur directement à partir de phpMyAdmin sur le serveur, ça ne devrais pas posé de problème, enfin je crois.

    J'ai demandé au technicien de changer le type de la colonne mot_de_pass, mais je reçois une réponse du genre :
    Si MySQL converti automatique le type, c'est que c'est pas ça le problème
    Donc je ne sais pas...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème de sélection dans des Jtables
    Par Manaka dans le forum Composants
    Réponses: 1
    Dernier message: 29/10/2006, 22h15
  2. [FLASH 8] Problème de sélection dans une liste
    Par jpboogie dans le forum Flash
    Réponses: 3
    Dernier message: 29/09/2006, 14h12
  3. Problème de sélection dans une listbox
    Par cacahuèèète dans le forum Access
    Réponses: 3
    Dernier message: 29/06/2006, 15h03
  4. [VB6/mysql]:Problème d'insertion dans une bdd
    Par gaetan.tranvouez dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/06/2006, 10h15
  5. [MySQL] upload : problème fichiers existants dans la bdd ?
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 15/02/2006, 11h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo