2017-10-28 2 views
0

Ich bin neu in PHP/SQL und versuche, es auf einem Projekt in Adobe Dreamweaver (DW) zu implementieren.Verbindung von SQL zu dreamweaver php Projekt: SQLSTATE [HY000] [2002] Verbindung verweigert

Von was ich bis jetzt ausgearbeitet habe: es scheint, DW ist nicht die ideale Plattform, um PHP/SQL-Funktionalität zu integrieren, da sie ihre Dokumentation nicht auf dem neuesten Stand halten und seem to be phasing out PHP functionality.

Allerdings bin ich beharrlich, da es viele CSS/Html-Support-Funktionen gibt, die in DW nützlich sind. Meine Herausforderung besteht nun darin, sicherzustellen, dass ich PHP noch ausreichend integrieren kann, um dynamischere Websites zu erstellen. In diesem Fall muss ich Datenbankinformationen durch den HTML-Code ziehen, um den Status einer Geschenkregistrierung anzuzeigen.

Ich habe verfolgt this great resource auf, wie ich meine erste PHP CRUD einrichten. Ich habe versucht, ihr Beispiel so anzupassen, dass es meinen eigenen Datenbankanmeldeinformationen entspricht, und stieß auf einen Fehler, bei dem ich Probleme habe zu lösen.

Die Theorie ist, dass der PHP-Code-Schnipsel einer Verbindung zu mySQL Datenbank ‚registry_list_baby‘ in meiner PHP-Testumgebung (ich den Standard MAMP Setup bin mit dem localhost auf Port 8889).

Allerdings kehrte die Daten auf der Website ist "SQLSTATE [HY000] [2002] Verbindung verweigert"

Alle Hinweise auf Dinge, zunächst zu versuchen?

<?php 
class Database 
{ 
    private static $dbName = 'registry_list_baby' ; 
    private static $dbHost = 'localhost:8889' ; 
    private static $dbUsername = 'private'; 
    private static $dbUserPassword = 'private'; 

    private static $cont = null; 

    public function __construct() { 
     die('Init function is not allowed'); 
    } 

    public static function connect() 
    { 
     // One connection through whole application 
     if (null == self::$cont) 
     {  
     try 
     { 
      self::$cont = new PDO("mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword); 
     } 
     catch(PDOException $e) 
     { 
      die($e->getMessage()); 
     } 
     } 
     return self::$cont; 
    } 

    public static function disconnect() 
    { 
     self::$cont = null; 
    } 
} 
?> 

RELATED HTML SNIPPET

<!-- Form fields --> 
<div class="container"> 
    <div class="row"> 
    <h3>PHP CRUD Grid</h3> 
    </div> 
    <div class="row"> 
    <table class="table table-striped table-bordered"> 
     <thead> 
     <tr> 
      <th>Taken "Claim this gift" </th> 
      <th>Gifter "This gift has been claimed by XYZ"</th> 
     </tr> 
     </thead> 
     <tbody> 
<?php 
    include 'database.php'; 
    $pdo = Database::connect(); 
    $sql = 'SELECT * FROM registry ORDER BY id DESC'; 
    foreach ($pdo->query($sql) as $row) { 
      echo '<tr>'; 
      echo '<td>'. $row['taken'] . '</td>'; 
      echo '<td>'. $row['gifter'] . '</td>'; 
      echo '</tr>'; 
    } 
    Database::disconnect(); 
    ?> 
     </tbody> 
    </table> 
    </div> 
</div> 
<!-- /container --> 

Antwort

0

Die SQLSTATE[HY000] [2002] Verbindung verweigert Fehler bedeutet, dass:

  • Sie nicht die Rechte oder Privilegien haben Zugriff auf die Datenbank mit dem Benutzer,
  • Ihre Datenbankparameter sind entweder nicht korrekt oder
  • Der Server, auf den Sie Ihre Datenbank zugreifen können, ist nicht erreichbar. Es kann offline sein.

Überprüfen Sie die Benutzerberechtigungen für dbUsername.

und überprüfen Sie, welcher Port ist Ihr Mysql hört.

Verwandte Themen