2017-10-28 1 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 코드 조각 (나는 로컬 호스트 포트 8889에 기본 MAMP 설정을 사용하고 있습니다) 내 PHP 테스트 환경에서 MySQL 데이터베이스 'registry_list_baby'에 연결하는 것입니다. 다음 시도하는 일에 "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이 듣고있는 포트는 무엇입니까?를 확인하십시오.

관련 문제