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

PHP & Base de données Discussion :

recupérer des données a partir de mysql [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut recupérer des données a partir de mysql
    Bonjour,
    j'ai créer une base de donné a l'aide de mysql mais j'ai un problème pour récupérer les donnée ! la page php s'affiche toute blanche !

    voila le code de la page :
    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
     
    <?php
     
     
    mysql_connect("localhost", "utilisateur", "mot_de_passe");
    mysql_select_db("nom_db");
     
    $id = $_POST['id'];
     
    $all = mysql_query("SELECT * FROM produit WHERE id = '$id'");
     
    $unique = mysql_fetch_array($all);
     
     
     
    echo $unique['etablissement'];
     
     
    mysql_close ();
     
    ?>

  2. #2
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Salut,
    Débugage :

    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
    <?php
     
     
    mysql_connect("localhost", "utilisateur", "mot_de_passe");
    mysql_select_db("nom_db");
     
    var_dump($_POST) ;
    $id = $_POST['id'];
     
    $all = mysql_query("SELECT * FROM produit WHERE id = '$id'");
    echo 'Erreur MySQL : {', mysql_error( ), '}' ;
    var_dump($all) ;
     
    $unique = mysql_fetch_array($all);
    var_dump($unique) ;
     
     
    echo $unique['etablissement'];
     
    mysql_close ();
     
    ?>

  3. #3
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    merci pour ta reponse mais j'ai recu une erreur

    Parse error: syntax error, unexpected T_VARIABLE in C:\Inetpub\vhosts\monsite.com\httpdocs\etablissement\index.php on line 242

    voila la ligne 242
    $unique = mysql_fetch_array($all);

  4. #4
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Citation Envoyé par hichamdeb Voir le message
    voila la ligne 242
    $unique = mysql_fetch_array($all);
    Je ne vois pas d'erreur dans ce que je t'ai écris. Le pb est sûrement en amont de la ligne 242.

  5. #5
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    j'ai recopié le code et voila ce que sa a donné:

    array(0) { } Erreur MySQL : {}resource(3) of type (mysql result) bool(false)

  6. #6
    Invité
    Invité(e)
    Par défaut
    Redonne ton nouveau code, stp.

  7. #7
    Membre confirmé
    Inscrit en
    Décembre 2007
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 105
    Par défaut
    bonjour jreaux,
    j'ai fait exactement ce que tu m'a dis et voila le resultat

    array(0) { } Erreur MySQL : {You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1}bool(false)
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\Inetpub\vhosts\monsite.com\httpdocs\etablissement\index.php on line 238
    NULL

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je suppose que id est NUMERIQUE, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $all = mysql_query("SELECT * FROM produit WHERE id = ".$id);
    Et pour éviter les injections SQL :
    remplacer
    $id = $_POST['id'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = mysql_real_escape_string ($_POST['id']);

  9. #9
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 315
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 315
    Billets dans le blog
    17
    Par défaut
    Salut jreaux62

    Citation Envoyé par jreaux62 Voir le message
    je suppose que id est NUMERIQUE, donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $all = mysql_query("SELECT * FROM produit WHERE id = ".$id);
    Sous MySQL les ' ne sont pas un pb autour des numériques :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT ' 1 ' = 1 ;
    = 1
    Et pour éviter les injections SQL :
    remplacer
    $id = $_POST['id'];
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $id = mysql_real_escape_string ($_POST['id']);
    Cela n'empêchera pas un injection. A tester :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $_POST['id'] = '123 OR 1 = 1' ;
    $id = mysql_real_escape_string($_POST['id']) ;
    $sql = 'SELECT ALL mesChamps FROM maTable WHERE id = ' . $id ;
    echo $sql ;
    // SELECT ALL mesChamps FROM maTable WHERE id = 123 OR 1 = 1
    // = L'injection passe
    Alors qu'avec les ' :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $_POST['id'] = '123 OR 1 = 1' ;
    $id = mysql_real_escape_string($_POST['id']) ;
    $sql = "SELECT ALL mesChamps FROM maTable WHERE id = '$id' " ;
    echo $sql ;
    // SELECT ALL mesChamps FROM maTable WHERE id = '123 OR 1 = 1'
    // = Pas d'injection

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 10/03/2014, 00h45
  2. Réponses: 1
    Dernier message: 24/10/2011, 09h02
  3. Dessiner des graphiques à partir des données d'une BD MySQL
    Par condor_01 dans le forum Général Java
    Réponses: 6
    Dernier message: 24/04/2008, 09h35
  4. Réponses: 11
    Dernier message: 25/07/2006, 21h46

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