php - 数据库 Controller -php中的连接错误

标签 php mysql mysqli

我有名为dbcontroller.php的文件。该文件是一个具有mysql功能的旧文件。但现在我试图将其转换为 mysqli 函数。一切正常,但 mysqli_connect($conn,$query) 中的 $conn 出现错误。如何解决这个问题?

代码

class DBController {
    private $host = "localhost";
    private $user = "root";
    private $password = "";
    private $database = "stores";

    /**
     * DBController constructor.
     */
    public function __construct() {
        $conn = $this->connectDB();
        if(!empty($conn)) {
            $this->selectDB($conn);
        }
    }

    function connectDB() {
        $conn = mysqli_connect($this->host,$this->user,$this->password);
        return $conn;
    }

    function selectDB($conn) {
        mysqli_select_db($conn,$this->database);
    }

    function runQuery($query) {
        $result = mysqli_query($conn,$query);// error
        while($row=mysqli_fetch_assoc($result)) {
            $resultset[] = $row;
        }       
        if(!empty($resultset))
            return $resultset;
    }

    function numRows($query) {
        $result  = mysqli_query($conn,$query);// error
        $rowcount = mysqli_num_rows($result);
        return $rowcount;   
    }
}

最佳答案

我认为问题出在这里:

public function __construct() {
        $conn = $this->connectDB();
        if(!empty($conn)) {
            $this->selectDB($conn);
        }
    }

这里的$conn必须是一个与其他变量一起定义的类变量,并且可以像这样访问:

$this->conn

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

相关文章:

mysql - 我无法锁定我的 MySQL 表

mysql - 连接两个表,日期间隔为前 3 天和后 3 天

php - 如何使用 PHP 插入特殊字符 int mysqldb

php - Magento - Mage 注册表项 "_resource_helper/core"已存在

php - 从 PHP 中加载 .sql 文件

mysql - 如何在 phpmyadmin 中加入表

php - 从数据库获取文件名并将其从服务器中删除

mysql - mysql函数到mysqli函数

PHP $_SESSION 变量导致 mySQL 出错

php - MySQL - 使用 REGEXP 从字符串中仅选择前 3 或 2 个字符(非数字)值