php - 获取类中数据库连接错误

标签 php mysql

我没有意识到有一种面向对象的方式来使用mysqli,所以我构建了一个名为DB的类。在 __construct 期间,它采用主机名、用户名、密码和数据库名称。给出以下代码:

$myDB = new DB("localhost", "user", "password", "database");
$myDBConnect = $myDB->connect();

if(!$myDBConnect) {
    echo "<strong>The following error has occurred: " . $myDB->getError();
}

该变量显然包含 FALSE,因为此 if 语句当前返回 TRUE。这是 DB 类的方法:

public function connect() {
    // Create connection
    $this->dbConnx = mysqli_connect($this->dbHost, $this->dbUsername, $this->dbPassword, $this->dbName);

    if(mysqli_connect_errno($this->dbConnx)) {
        $this->dbError = mysqli_error($this->dbConnx);
        return false;
    }
}

我没有收到任何错误详细信息。我尝试在 connect 方法中添加 or die(mysqli_error()); ,但它总是只输出实例化 $myDB 的文件中的文本。我还尝试了错误报告代码的变体,包括在 mysqli_connect_errno() 中不带任何参数,以及在带或不带连接参数的情况下使用 $this->dbError = mysqli_connect_error()

这是否不必要地使使用 mysqli 的 OO 方式变得复杂?或者我是否缺少一些简单的东西,可以让我继续使用我已经得到的代码? 预先感谢您的宝贵时间。

最佳答案

如果不是变量

       if(!$myDBConnect) {
      ^--remove variable sign here

编辑:

您的连接应该是

    $myDB = new mysqli("localhost", "user", "password", "database");

关于php - 获取类中数据库连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089320/

相关文章:

php - 如何使用 MySQL 将数组插入到 php 数据库中?

php - 向从 SQL 中提取的文本添加换行符

php - 获取 mySQL 数据库列中所有值的 sum()

android - 从 android 向 mysql 插入值

mysql - 如何使用 bash 命令更新/添加到 SQL 表?

mysql - 如何在VB中打印Datagridview有表

php - 在 Symfony2 中使用动态放置的 HTML 渲染 Twig 模板?

php - 多个where条件codeigniter事件记录

php - 我的 sql 查询在 json 响应中返回 3 行相同的数据类型

php - MySQL/PHP 计数