Page 1 of 1

Connexion à une base de données SQL

Unread postPosted: 03 Mar 2016, 20:51
by noelnadal
Ça fait un bail que je n'ai pas fait de programmation web, et j'ai l'impression que le code à taper a changé...
D'après MAMP, je dois écrire ça :

Code: Select all
<?php $user = 'root';
$password = 'root';
$db = 'principale';
$host = 'localhost';
$port = 8889;

$link = mysqli_init();
$success = mysqli_real_connect(
   $link, 
   $host
, 
   $user
, 
   $password
, 
   $db
,
   $port
); ?>


Ça c'est bdd.php. Dans le même dossier, j'ai index.php :

Code: Select all
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <title>...</title>
    </head>
   
    <body>
    <?php  include("bdd.php");

       $reponse = $link->query('SELECT * FROM membres');
       while ($donnees = $reponse->fetch())
      {
      echo $donnees['nom'] . ' ' . $donnees['prenom'] . ' (' . $donnees['pseudo'] . ').';
      }
      $reponse->closeCursor();
       ?>
     </body>
</html>


Ça ne marche pas. J'ai essayé en vain de remplacer $link par $success, ou pas $db.
Merci d'avance pour votre aide !

Noël.

P.S. : j'ai évidemment vérifié que le nom de la base de données était bon... :P

Re: Connexion à une base de données SQL

Unread postPosted: 03 Mar 2016, 20:53
by Wistaro
N'utilise pas msql_li, c'est obsolète.

Utilise plutôt PDO.


Pour initialiser:
Code: Select all

<?php
try
{
    
    $bdd 
= new PDO('mysql:host=localhost;dbname=dnname', 'user', 'pass', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
    
}
catch(
Exception $e)
{
        die('Erreur : '.$e->getMessage());
}
?>


bdd est un objet, après tu fait comme avec mysql_li:

Code: Select all
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <link rel="stylesheet" href="style.css" />
        <title>...</title>
    </head>
    
    <body>
    <?php  include("bdd.php");

       $reponse = $bdd->execute('SELECT * FROM membres');
       while ($donnees = $reponse->fetch())
      {
      echo $donnees['nom'] . ' ' . $donnees['prenom'] . ' (' . $donnees['pseudo'] . ').';
      }
      $reponse->closeCursor();
       ?>
     </body>
</html>

Re: Connexion à une base de données SQL

Unread postPosted: 03 Mar 2016, 20:57
by noelnadal
Avec PDO ça fonctionne.
Bon, ce problème aura été résolu rapidement. :P

Re: Connexion à une base de données SQL

Unread postPosted: 03 Mar 2016, 23:22
by Wistaro
Bonne nouvelle :p

Tu fais du PHP à l'ENS ou c'est pour du personnel?

Re: Connexion à une base de données SQL

Unread postPosted: 04 Mar 2016, 15:25
by noelnadal
C'est pour du personnel, sinon j'aurais demandé à un prof. :p

Re: Connexion à une base de données SQL

Unread postPosted: 21 Mar 2016, 10:29
by nature
Super les gars, j’ai dépensé mon temps à trouver cette solution et c’est par hasard que j’ai trouvé ce forum. Et j’ai découvert toutes les solutions à mes problèmes qui m’ont bloqué depuis un certain moment. Et en plus, je persistais à utiliser msql_li au lieu de PDO.