php - 将 SQL 连接到 Dreamweaver php 项目 : SQLSTATE[HY000] [2002] Connection refused

标签 php html mysql dreamweaver

我是 PHP/SQL 新手,正在尝试在基于 Adob​​e 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/

相关文章:

javascript - 选项卡式工具栏中的 Sencha Touch 列表组件

一个表的 MYSQL 查询与另一个表存在多对多关系

mysql - 如何从两个不同的列到单独表上的同一列进行 JOIN

java - 无法获取连接,DataSource 无效 : "java. sql.SQLException: 无法创建 PoolableConnectionFactory(通信链接失败

php - 同一 MySQL 列中的阿拉伯语和英语混淆了

php - 将整数转换为随机字符串并再次返回

html - 绝对定位的 child 忽略了相对 parent

javascript - Draggable - 可放置的定位错误?

php - 如何阻止特定网站浏览器代理?

php - 将HTML代码应用于php数组的每个元素的方法