我是 PHP/SQL 新手,正在尝试在基于 Adobe dreamweaver (DW) 的项目上实现它。
从我到目前为止的研究来看:DW 似乎不是集成 PHP/SQL 功能的理想平台,因为它们没有保持文档最新并且 seem to be phasing out PHP functionality 。
但是,我坚持不懈,因为 DW 中有很多有用的 CSS/Html 支持功能。我现在的挑战是确保我仍然可以充分集成 PHP,以便我可以制作更多动态网站。在本例中,我需要将数据库信息提取到 html 中以显示礼品登记的状态。
我一直在关注this great resource关于如何设置我的第一个 PHP CRUD。我尝试调整他们的示例以匹配我自己的数据库凭据,但遇到了一个我无法解决的错误。
理论上,PHP 代码片段在我的 PHP 测试环境中连接到 mySQL 数据库'registry_list_baby'(我使用默认的 MAMP 设置,其中 localhost 位于端口 8889)。
但是网站上返回的数据是“SQLSTATE[HY000] [2002] Connection Connectionrejected”
接下来要尝试的事情有什么建议吗?
<?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 -->
最佳答案
SQLSTATE[HY000] [2002]
连接被拒绝错误意味着:
- 您没有使用该用户访问数据库的权利或特权,
- 您的数据库参数不正确,或者
- 您拥有数据库的服务器无法访问;它可能处于离线状态。
尝试检查 dbUsername 用户权限。
并检查你的Mysql正在监听什么端口。
关于php - 将 SQL 连接到 Dreamweaver php 项目 : SQLSTATE[HY000] [2002] Connection refused,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46987312/