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