Récupération infos d'une BDD

Résolu
Bonjour,
Je fait encore appelle à vous car je me suis perdu... :)

J'ai une base de donnée (crée par moi-même) et j'aimerai récupérer les informations sur une page... Pour commencer, j'ai souhaité faire quelques tests car c'est nouveau pour moi.

Voici mon code:
<?php
$host_name = 'db770114383.hosting-data.io';
$database = 'db770114383';
$user_name = 'dbo770114383';
$password = '<J'ai mis mon de passe ici!>';

$dbh = null;
try {
$dbh = new PDO("mysql:host=$host_name; dbname=$database;", $user_name, $password);
} catch (PDOException $e) {
echo "Erreur!: " . $e->getMessage() . "<br/>";
die();
}
?>

<html>
<head>
<title>test</title>
</head>
<body>
<?php
// lancement de la requete
$sql = 'SELECT nom FROM clients WHERE id="1"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();
?>
Le nom de l'ID 1 est:<br />
<?php echo $data['nom']; ?>
</body>
</html>

(Je me suis aidé d'un tuto :) )

Et quand j'ouvre ma page, j'ai cette erreur:
Erreur!: SQLSTATE[HY000] [1045] Access denied for user 'dbo770114383'@'82.165.80.14' (using password: YES)

Quelqu'un pourrait-il m'éclairer sur cette erreur?

Merci d'avance!
Configuration: Windows / Firefox 64.0

1 réponse

  1. Modérateur
    Bonjour
    Tu es en PDO... Donc tu dois utiliser les fonctions pdo et pas
    mysql_query
    
    


    Exemple
    https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

    .

    0
    1. Bonjour, merci pour ta réponse...
      J'ai donc changer le type de connexion à la bdd...

      Voici mon new code:
      <?php
      $host_name = 'db770114383.hosting-data.io';
      $database = 'db770114383';
      $user_name = 'dbo770114383';
      $password = '<MOn mot de passe>';

      $connect = mysql_connect($host_name, $user_name, $password, $database);
      if (mysql_errno()) {
      die('<p>La connexion au serveur MySQL a échoué: '.mysql_error().'</p>');
      } else {
      echo '<p>Connexion au serveur MySQL établie avec succès.</p >';
      }
      ?>

      <html>
      <head>
      <title>test</title>
      </head>
      <body>
      <?php
      // lancement de la requete
      $sql = 'SELECT nom FROM clients WHERE id="1"';

      // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
      $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

      // on recupere le resultat sous forme d'un tableau
      $data = mysql_fetch_array($req);

      // on libère l'espace mémoire alloué pour cette interrogation de la base
      mysql_free_result ($req);
      mysql_close ();
      ?>
      Le nom de l'ID 1 est:<br />
      <?php echo $data['nom']; ?>
      </body>
      </html>

      J'ai toujours une erreur, voici le message:
      Fatal error: Uncaught Error: Call to undefined function mysql_connect() in /homepages/22/d767857963/htdocs/logiciel/v2/basedonnee.php:7 Stack trace: #0 {main} thrown in /homepages/22/d767857963/htdocs/logiciel/v2/basedonnee.php on line 7

      Le problème persiste toujours... Une petite idée?

      Sommes-nous obliger de mettre tout ça juste pour avoir quelques informations se trouvant sur la BDD ou pouvons nous simplifié un peu?

      Merci d'avance :)
      0
    2. @jordane45PDO c'est très bien, mais je n'ai pas le code du dessous... J'ai copié sur un forum car c'est complexe quand on commence à utiliser ce langage.

      Si je comprends bien, je dois laisser mes ''identifiants'' en PDO et changer la suite de mon code avec les fonctions PDO... Où puis-je trouver les bases des fonctions PDO?

      (Bien reçu pour la balise de code, je ne savais pas comment on faisait :) )
      0