Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1722 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PDOException: SQLSTATE[HY000]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

PDOException: SQLSTATE[HY000]

n°2349839
Nestati
Citation
Posté le 27-03-2020 à 19:51:58  profilanswer
 

Bonjour à tous je fais un site en collaboration avec un ami pour un cours.
Il héberge un serveur à son domicile sur lequel il a installé myphpadmin, j'ai crée une BDD et j'aimerais y envoyer les informations de connexion d'un utilisateur pseudo nom adresse mail etc...
Mon code fonctionnait parfaitement en localhost avec wamp mais je n'arrive pas à le faire fonctionner en mettant en host son site web.
J'utilise Putty pour me connecter en SSH à son serveur, et le site web est lié à git pour update les fichiers via putty.
 
Voici le fichier database.php

Code :
  1. <?php
  2. define('HOST','xxxxx.ddns.net'); //j'ai caché le nom
  3. define('DB_NAME','siteweb'); //nom de la BDD
  4. define('USER','root'); //utilisateur qui se connecte
  5. define('PASS','xxxxx'); //le mot de passe que j'utilise pour me connecté à la BDD
  6. try{
  7.  $db = new PDO("mysql:host=" . HOST . ";dbname=" . DB_NAME, USER, PASS);
  8.  $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  9. } catch (PDOException $e){
  10.  echo $e; #affichage de l'erreur de connexion
  11. }
  12. ?>


 

Code :
  1. <!DOCTYPE html>
  2. <html lang="fr">
  3.     <head>
  4.         <title>Inscription</title>
  5.         <meta charset="utf-8"/>
  6.         <link rel="stylesheet" href="style.css"/>
  7.     </head>
  8.     <body>
  9.         <div id="wrapper">
  10.            
  11.             <form method="post">
  12.                     <input type="pseudo" name="pseudo" id="pseudo" placeholder="Votre Pseudo"><br/>
  13.                     <input type="email" name="email" id="email" placeholder="Votre Email"><br/>
  14.                     <input type="password" name="password" id="password" placeholder="Votre  Mot de Passe"><br/>
  15.                     <input type="password" name="cpassword" id="cpassword" placeholder="Confirmer Votre Mot de Passe"><br/>
  16.                     <input type="submit" name="formsend" id="formsend" value="Envoyer"><br/>
  17.             </form>
  18.     <?php
  19.         if(isset($_POST['formsend'])){
  20.             extract($_POST);
  21.             if(!empty($password) && !empty($cpassword) && !empty($email)){
  22.                 if($password == $cpassword){
  23.                     $options = [
  24.                         'cost' => 12,
  25.                     ];
  26.                     $hashpass = password_hash($password, PASSWORD_BCRYPT, $options);
  27.                     include 'database.php';
  28.                     global $db;
  29.                     $q= $db->prepare("INSERT INTO users(email,password,pseudo) VALUES(:email,:password,:pseudo)" );
  30.                     $q->execute([
  31.                         'email'=> $email,
  32.                         'password'=> $hashpass,
  33.                         'pseudo'=> $pseudo
  34.                     ]);
  35.                 }else{
  36.                     echo "<font style=\"font family: courrier new;\"><strong>Les mot de passes ne correspondent pas</strong></font>";
  37.                 }
  38.             }else{
  39.                 echo "<font style=\"font family: courrier new;\"><strong>Les champs ne sont pas tous remplies</strong></font>";
  40.             }
  41.         }
  42. ?>
  43. </div>
  44.     </body>
  45. </html>


 
L'erreur en question :  
 
PDOException: SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using password: NO) in /home/paul/Site-avec-Paul/database.php:8 Stack trace: #0 /home/paul/Site-avec-Paul/database.php(8): PDO->__construct('mysql:host=loca...', 'root', '') #1 /home/paul/Site-avec-Paul/inscription.php(35): include('/home/paul/Site...') #2 {main}
Fatal error: Uncaught Error: Call to a member function prepare() on null in /home/paul/Site-avec-Paul/inscription.php:38 Stack trace: #0 {main} thrown in /home/paul/Site-avec-Paul/inscription.php on line 38
 
Je vois qu'il considère ne pas avoir de mot de passe alors que je lui en fournis un ici define('PASS','xxxxx');

mood
Publicité
Posté le 27-03-2020 à 19:51:58  profilanswer
 

n°2349856
Nestati
Citation
Posté le 27-03-2020 à 22:58:57  profilanswer
 

Update ; Connexion échouée : SQLSTATE[HY000] [2002] Connection refused
Je n'arrive pas à me connecter à la database hébergé chez mon ami
j'y accède de la sorte adressedusite.ddns.net/phpmyadmin
Que dois-je mettre en host ?


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  PDOException: SQLSTATE[HY000]

 

Sujets relatifs
PDOException' with message 'SQLSTATE[42000] 
Plus de sujets relatifs à : PDOException: SQLSTATE[HY000]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR