2017-10-28 130 views
0

我是PHP/SQL的新手,並試圖在基於Adobe Dreamweaver(DW)的項目中實現它。將SQL連接到Dreamweaver php項目:SQLSTATE [HY000] [2002]連接被拒絕

從我到目前爲止所做的工作來看:似乎DW並不是集成PHP/SQL功能的理想平臺,因爲它們不會保持其文檔是最新的和seem to be phasing out PHP functionality

但是,我堅持不懈,因爲有很多CSS/Html支持功能在DW中很有用。我現在面臨的挑戰是確保我仍然可以充分整合PHP,以便我可以創建更多動態網站。在這種情況下,我需要將數據庫信息拉到html中以顯示禮品註冊表的狀態。

我一直在關注如何設置我的第一個PHP CRUD this great resource。我試圖調整他們的示例以匹配我自己的數據庫憑據,並遇到了一個我無法解決的錯誤。理論上PHP代碼片段連接到mySQL數據庫'registry_list_baby'在我的PHP測試環境中(我使用默認的MAMP設置,其中localhost位於端口8889上)。

然而,在網站上返回的數據是「SQLSTATE [HY000] [2002]連接被拒絕」

任何事情上嘗試下一個指針?

<?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; 
    } 
} 
?> 

相關HTML片段

<!-- 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 --> 

回答

0

SQLSTATE[HY000] [2002]拒絕連接錯誤意味着:

  • 你沒有權利或特權與該用戶訪問數據庫,
  • 您的數據庫參數要麼不正確,要麼
  • 服務器,你有你的數據庫不可訪問;它可能處於脫機狀態。

嘗試檢查dbUsername用戶權限。

並檢查您的Mysql正在監聽的端口是什麼。

相關問題