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 :

Erreur sql dans fichier PHP


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut Erreur sql dans fichier PHP
    Bonjour a tous,

    je suis debutant en PHP et SQL et j ai creer un formulaire via HTML/CSS/PHP j ai cree ma base et ma table et mes champs dans SQL. le formulaire fonctionne nickel.

    Je suis maintenant en train de faire ma page pour afficher les résultats de mon formulaire mais lorsque je lance mon resultats.php voila ce qu'il me dit :
    Parse error: syntax error, unexpected T_VARIABLE in D:\wamp\www\marketing\resultat.php on line 17
    je ne vois pas ou est le probleme je vous liasse mon code PHP en esperant que vous allez m aidez merci beaucoup

    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
     
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', ''); // mot de passe
    define('DB_DATABASE', 'marketing'); // nom de la base
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
     
    $sql = "SELECT * FROM marketing"
    $resultat = mysql_fetch_array($sql);
    echo $resultat ['nom']
     
     
    ?>

  2. #2
    Membre Expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Par défaut
    Bonjour,

    Il manquait un ";" à la fin de la ligne 17, aussi, mysql_fetch_array() prends en paramètre la valeur de retour de mysql_query :

    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
    <?php
    // Parametres mysql à remplacer par les vôtres
    define('DB_SERVER', 'localhost'); // serveur mysql
    define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
    define('DB_SERVER_PASSWORD', ''); // mot de passe
    define('DB_DATABASE', 'marketing'); // nom de la base
     
    // Connexion au serveur mysql
    $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME,
    DB_SERVER_PASSWORD)
    or die('Impossible de se connecter : ' . mysql_error());
    // sélection de la base de données
    mysql_select_db(DB_DATABASE, $connect);
     
    $sql = mysql_query("SELECT * FROM marketing");
    $resultat = mysql_fetch_array($sql);
    echo $resultat['nom'];
    ?>

  3. #3
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut aie aie aie
    merci de ta reponse

    mais voila ce qu il met apres rectification ...

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in D:\wamp\www\marketing\resultat.php on line 16

  4. #4
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut Pour info
    J ai vu que de mettre un @ devant mysql_fetch_array devait arranger le probleme je n ai plus le message d'erreur mais une page blanche ...

    Je suis perdu

    Merci de votre aide

  5. #5
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Bonjour,

    Je suis d'accord avec ThomasR. Mais j'ajouterai un certain nombre de choses.
    Il faut externaliser un certain nombre de lignes dans des fichiers à inclure. Cela évite de recopier le code à chaque fois, et de reprendre tous les fichiers en cas de changement de paramètres :

    Fichier 'config.php' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
      //-- config.php ------------------------------------------ 
      // Parametres mysql à remplacer par les vôtres
      define('DB_SERVER', 'localhost'); // serveur mysql
      define('DB_SERVER_USERNAME', 'root'); // nom d'utilisateur
      define('DB_SERVER_PASSWORD', ''); // mot de passe
      define('DB_DATABASE', 'marketing'); // nom de la base
    ?>
    Fichier 'connexion.php' :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <?php
      //-- connexion.php ---------------------------------------
      function connexion()
      {
        // Connexion au serveur mysql
        $connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD)
          or die('Impossible de se connecter au serveur ' . DB_SERVER . ' : <br>' . mysql_error());
        // sélection de la base de données
        mysql_select_db(DB_DATABASE, $connect)
          or die('Impossible de se connecter à la base de données ' . DB_DATABASE . ' : <br>' . mysql_error());
      }
    ?>
    Fichier 'resultat.php' :
    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
    <?php
      include('config.php');
      include('connexion.php');
     
      $connexion = connexion();
     
      $sql = 'SELECT colonne_1, colonne_2, colonne_3, colonne_xxxx
              FROM marketing';
      $resultat = mysql_query($sql, $connexion)
          or die('Problème à l\'exécution de la requête ' . $sql . ' : <br>' . mysql_error());
      while ($ligne = mysql_fetch_array($sql))
      {
        echo $ligne ['nom'] . '<br>';
      }
    ?>
    Il faut faire une boucle après l'exécution de la requête, car il n'y a aucun filtre, et elle est donc sensée retourner plusieurs lignes de résultats.

    Utiliser plutôt les apostrophes que les guillemets pour encadrer une chaîne de caractères ; cela évite à php de la parser pour rechercher un éventuel élément à valoriser.
    Dans une requête, ne pas utiliser '*', nommer les colonnes nécessaires. Si une table comporte 20 colonnes et que seules 5 sont nécessaires, cela sera plus rapide.

    NE PAS UTILISER '@' en cours de développement : cela empêche l'affichage des erreurs mais ne les résout pas.

  6. #6
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut ouah merci
    pour cette reponse plus qu étoffé à la place des colonne_1 colonne_2 je dois mettre mes champs qui sont dans ma table ?c est bien ca ?

  7. #7
    Membre Expert

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Par défaut
    Yes, mais uniquement les colonnes dont tu as besoin dans la suite de ton code.

  8. #8
    Membre éclairé
    Inscrit en
    Décembre 2008
    Messages
    319
    Détails du profil
    Informations forums :
    Inscription : Décembre 2008
    Messages : 319
    Par défaut je me sens nul j suis desole
    j ai remplace les champs colonne par mes champs qui sont dans ma table comme suit :

    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
    27
    28
    <?php
      include('config.php');
      include('connexion.php');
     
      $connexion = connexion();
     
      $sql = 'SELECT id, civilite, entreprise, nom, prenom, adresse, codepostal, ville, telephone, mail, numeroappels, besoin, resultats, message, datetime
              FROM marketing';
      $resultat = mysql_query($sql, $connexion)
          or die('Problème à l\'exécution de la requête ' . $sql . ' : <br>' . mysql_error());
      while ($ligne = mysql_fetch_array($sql))
      {
        echo $ligne ['id'] . '<br>';
        echo $ligne ['entreprise'] . '<br>';
        echo $ligne ['nom'] . '<br>';
        echo $ligne ['prenom'] . '<br>';
        echo $ligne ['adresse'] . '<br>';
        echo $ligne ['codepostal'] . '<br>';
        echo $ligne ['ville'] . '<br>';
        echo $ligne ['telephone'] . '<br>';
        echo $ligne ['mail'] . '<br>';
        echo $ligne ['numeroappels'] . '<br>';
        echo $ligne ['besoin'] . '<br>';
        echo $ligne ['resultats'] . '<br>';
        echo $ligne ['message'] . '<br>';
        echo $ligne ['datetime'] . '<br>';
      }
    ?>
    et voila l'erreur
    Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in D:\wamp\www\marketing\resultat.php on line 9
    Problème à l'exécution de la requête SELECT id, civilite, entreprise, nom, prenom, adresse, codepostal, ville, telephone, mail, numeroappels, besoin, resultats, message, datetime FROM marketing :
    en tout cas merci pour tous vos efforts ...

Discussions similaires

  1. [MySQL] Requete sql dans fichier php
    Par chrisha dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/06/2014, 09h21
  2. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  3. Accès SQL dans fichier excel erreur sur une ligne
    Par troubleshooting dans le forum Excel
    Réponses: 3
    Dernier message: 17/11/2009, 14h46
  4. [MySQL] comment recupérer l'erreur sql dans PHP
    Par hammag dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 29/04/2009, 17h50
  5. [SQL] Erreur SQL dans php
    Par joker vb dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 03/05/2007, 11h37

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