2017-10-28 7 views
0

PHP/SQLを初めて使用しており、Adobe Dreamweaver(DW)ベースのプロジェクトで実装しようとしています。SQLをDreamweaverのphpプロジェクトに接続する:SQLSTATE [HY000] [2002]接続が拒否されました

これまでのところ、DWはPHP/SQLの機能を統合する理想的なプラットフォームではないと思われます。ドキュメントは最新であり、seem to be phasing out PHP functionalityです。

しかし、DWで役に立つCSS/Htmlサポート関数がたくさんあるので、私はしつこいです。私の挑戦は、PHPを適切に統合してよりダイナミックなサイトを作ることができるかどうかを確認することです。この例では、ギフトレジストリのステータスを表示するためにデータベース情報をhtmlにプルする必要があります。

私は初めてのPHP CRUDのセットアップ方法について、this great resourceに従っています。自分のデータベースの資格情報と一致するようにサンプルを適合させようとしましたが、解決が難しいというエラーが発生しました。

私のPHPテスト環境では、PHPのコードスニペットは、'registry_list_baby'に接続しています(localhostはポート8889のデフォルトのMAMP設定を使用しています)。次しようとするもので、「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; 
    } 
} 
?> 

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

答えて

0

SQLSTATE[HY000] [2002]接続にエラーがあることを意味断っ:

  • 、あなたがそのユーザにデータベースにアクセスするための権利または権限を持っていない

    • データベースのパラメータが正しくないか、
    • データベースを持っているサーバーにアクセスできない。オフラインになっている可能性があります。

    dbUsernameのユーザー権限を確認してみてください。

    と、あなたのMySQLがリッスンしているポートは何ですか。

  • 関連する問題