Conection a une base de donnée mysql

Résolu
Bonjour,je suis sur un projet de developpement d'un site internet et j'aimerai charger tout les utlisateurs du site dans une base de donnée mysql où j'ai crée une table personne contenant les champs( Nom, Prenom, Age)

1) pour me connecter à ma base de donnée nommée identification j'utilise le script suivant

<?php
// définition des variables
define('HOST_BDD', "localhost");
define('USER_BDD', "identifiant");
define('PASS_BDD', "mot_de_pass");
define('BASE_BDD', "identification");

// connection à la base de données
$cnx = mysql_connect(HOST_BDD, USER_BDD, PASS_BDD);
or trigger_error(mysql_error(),E_USER_ERROR);
// sélection de la base de données
mysql_select_db(BASE_BDD, $cnx);
?>
puis je met ce fichier connect.PHP3 dans le dossier www de easyphp
et puis quand je saisi localhost/connect.PHP3 dans l'url j'ai le message suivant:

Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 10

il m'est impossible de continuer

2) par la suite j'aimerai aussi chargé les données du fichier html dans cette base de donée identification qui comporte la table personne et les champs ( Nom ,Prenom,Age)
merci d'avace pour votre aide
Configuration: Windows XP
Internet Explorer 6.0

10 réponses

Résumé de la discussion

La problématique centrale est la connexion PHP à MySQL et l'insertion des données d'un formulaire HTML dans la table personnelle comportant les champs Nom, Prenom et Age. Des problèmes de parse lors du chargement du script connect.PHP3, des accès refusés liés aux identifiants MySQL et des variantes de connexion via mysql_connect et mysql_select_db apparaissent. Parmi les conseils, il est suggéré d'utiliser des requêtes INSERT correctes, de remplacer les anciennes syntaxes par des chaînes sécurisées et de vérifier les droits d'accès lorsque l'erreur apparaît. Il est suggéré de migrer vers mysqli ou PDO pour éviter les dépréciations, renforcer la sécurité SQL et améliorer la gestion des erreurs lors des connexions et des requêtes.

Bobot (l’IA à votre service)
  1. Contributeur
    $cnx = mysql_connect(HOST_BDD, USER_BDD, PASS_BDD)

    essaye sans le ";"
    1. voila ce que ca renvoi

      Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 9

      Fatal error: Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 10
      1. remplace le ; par une virgule ,
        $cnx = mysql_connect(HOST_BDD, USER_BDD, PASS_BDD);

        sinon supprime cette ligne
        or trigger_error(mysql_error(),E_USER_ERROR);
        1. en remplaçant par le ; par , voila ce que ça renvoi

          Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 9

          et en supprimant voila ce que ca renvoi

          Parse error: parse error in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 10

          1. <?php
            // définition des variables
            define('HOST_BDD', "localhost");
            define('USER_BDD', "identifiant");
            define('PASS_BDD', "mot_de_pass");
            define('BASE_BDD', "identification");



            ton identfiant de connexion à la base c'est bien identifiant ?
            et ton password de connexion c'est bien mot_de_ pass ?

            // connection à la base de données
            $cnx = mysql_connect(HOST_BDD, USER_BDD, PASS_BDD);
            or trigger_error(mysql_error(),E_USER_ERROR);


            tu ferme la ligne de commande $cnx=... par un ;

            et en dessous tu mets la suite de la commande or ...

            il faut:

            $cnx = mysql_connect(HOST_BDD, USER_BDD, PASS_BDD) or trigger_error(mysql_error(),E_USER_ERROR); 
            1. voila ce que ca renvoi

              Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 8

              Fatal error: Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 3.0\www\connect.PHP3 on line 8
            2. Contributeur
              @raamzeeLà, c'est un problème d'accès. Vérifie ton login / mot de passe.

            3. @raamzeesalut essayer avec se script:
              <?php
              // définition des variables
              define('HOST_BDD', "localhost");
              define('USER_BDD', "identifiant");
              define('PASS_BDD', "mot_de_pass");
              define('BASE_BDD', "identification");

              // connection à la base de données
              mysql_connect(HOST_BDD, USER_BDD, PASS_BDD) or die("Erreur:".mysql_error());;
              // sélection de la base de données
              mysql_select_db(BASE_BDD);
              ?>
            4. @doumhamj'aimerai savoir si les variables definit dans ce script à savoir mot de passe indentifiant et autres sont à inserer au niveau de mysql et j'aimerai savoir à quelle nieau on les configures
          2. voila ce que ca renvoi

            Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI) in C:\Program Files\EasyPHP 3.0\www\admi.php3 on line 9
            Erreur:Accès refusé pour l'utilisateur: 'identifiant'@'@localhost' (mot de passe: OUI)
            1. Re,

              les identifiants de connexions se définissent :

              - dans le script php de connexion par:

              // définition des variables
              define('HOST_BDD', "localhost"); //tu mets ce que ton hebergeur te donnes pour nom de serveur mysql
              define('USER_BDD', "identifiant");
              define('PASS_BDD', "mot_de_pass");
              define('BASE_BDD', "identification"); ;


              tu mets tes identifiant, mot de pass fournis par ton hebergeur

              et en nom de base tu mets le nom de ta base (aussi fourni par hebergeur)

              si tu es en local :
              tu laisses localhost

              en identifiant tu mets define('USER_BDD', "root");

              mot de pass define('PASS_BDD', "");

              base define('BASE_BDD', "le_nom_de_ta_base");
              1. svp quelqu'un pourrait il m'envoyer un script de connexion a une base de donnée mysql qui marche chez lui
                merci pour votre bonne comprehension j'en ai enormement besoin
            2. voila le script que j'execute

              <?php
              // définition des variables
              define('HOST_BDD', "localhost");
              define('USER_BDD', "root");
              define('PASS_BDD', "");
              define('BASE_BDD', "identification");

              // connection à la base de données
              mysql_connect(HOST_BDD, USER_BDD, PASS_BDD) or die("Erreur:".mysql_error());;
              // sélection de la base de données
              mysql_select_db(BASE_BDD);
              ?>
              et voila ce que j'ai en retour

              Warning: mysql_connect() [function.mysql-connect]: Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON) in C:\Program Files\EasyPHP 3.0\www\admi.php3 on line 9
              Erreur:Accès refusé pour l'utilisateur: 'root'@'@localhost' (mot de passe: NON)
              1. quand tu as installé EasyPhp a un moment tu as du avoir une question concernat justement le mot de passe de root

                est ce que tu en as mis un ? si oui c'est celui là qu'il faut mettre

                define('PASS_BDD', "la");
              2. @Alain_42je n'ai pas mis de mot passe vu que je n'ai pas eu de question concernant le mot de passe
            3. Ton EasyPhp est démaré, tu as en bas à droite de ton écran dans la barre de taches un E noir

              tu cliques droite dessus et tu choisis Administration

              puis phpMyadmin MysqlAdministration

              la tu accèdes au serveur Mysql

              Tu cliques sur Privilèges

              tu dois avoir

              utilisateur root
              mot de pass NON ou OUI ?

              et la si tu veux tu peux rajouter un utilisateur

              tu lui donnes le nom que tu veux et le mote de pass que tu veux avec les privileges SELECT, INSERT,UPDATE,FILE,DELETE

              ces ident et passw tu les utilises dans ton script
              1. // Definition des variable de connexion
                $host = "localhost";
                $user = "root";
                $bdd = "nom_bdd";
                $passwd = "password_bdd";

                // Connexion au serveur
                mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
                mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
                1. voila le script que j'execute
                  <?php
                  $host = "localhost";
                  $user = "nounei";
                  $bdd = "nounei";
                  $passwd = "enfin";

                  // Connexion au serveur
                  mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
                  mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");
                  ?>
                  et en retour j'ai une page vierge
                2. @doumhammaintenant j'aimerai transferer les données d'un formulaire html contenant les champs nom, prenom, age, vers la table personnel de la base de donnée contenant egalement ces même champs
                3. @raamzeeil te faut une requête qui interroge ta base de données puis de les afficher sur ta page web

                  // Creation de la requete
                  $strSQL = "SELECT `Champs_1`, `Champs_2`, `Champs_1` FROM `nom_de_ta_table`";

                  //execution de la requete
                  $resultat = mysql_query($strSQL);

                  //parcours et affichage des resultats
                  while ($tabl_result = mysql_fetch_array($resultat))
                  {
                  echo $tabl_result['Champs_1'].'<br>';
                  echo $tabl_result['Champs_2'].'<br>';
                  echo $tabl_result['Champs_3'].'<br>';

                  }

                  //fermeture de la connexion a la base de donnees
                  mysql_close();
                4. @raamzeefichier formulaire.php

                  <html>
                  <body>
                  <form method="POST" action="formaulaire.php" name="monform">
                  Nom : <input type="text" name="nom" ></br>
                  prenom : <input type="text" name="prenom" ></br>
                  age : <input type="text" name="age" ></br>
                  <input type="submit" value="go">
                  </form>
                  </body>
                  </html>

                  <?php

                  //on récupère nos valeurs
                  $nom = $_POST['nom'];
                  $prenom = $_POST['prenom'];
                  $age = $_POST['age'];

                  // Variables de connexion
                  $host = "localhost";
                  $user = "nounei";
                  $bdd = "nounei";
                  $passwd = "enfin";

                  // Connexion au serveur
                  mysql_connect($host, $user,$passwd) or die("erreur de connexion au serveur");
                  mysql_select_db($bdd) or die("erreur de connexion a la base de donnees");

                  // Creation de la requete
                  $strSQL = "INSERT INTO `nom_de_ta_table`(`Champs_1`, `Champs_2`, `Champs_1`) VALUES ($nom, $prenom, $age) ";

                  //execution de la requete
                  mysql_query($strSQL) or die ("erreur d'insertion dans la BDD");

                  //fermeture de la connexion a la base de donnees
                  mysql_close();
                  ?>