MVC 的 PHP 简单数据库连接类

标签 php mysql pdo

我已经为简单的 MVC 模式构建了新的数据库连接类。

我需要知道这是执行此操作的正确方法。

<?php

include_once 'config.php';

class dbModel{
    private $dbSys      = "";
    private $dbHost     = "";
    private $dbUser     = "";
    private $dbPass     = "";
    private $dbName     = "";
    private con = false;

    public function __construct(){
        $this->dbSys    = DB_SYS;
        $this->dbHost   = DB_HOST;
        $this->dbUser   = DB_USER;
        $this->dbPass   = DB_PASS;
        $this->dbName   = DB_NAME;

        if (!$this->con){
            try{
                $this->con = new PDO($this->dbSys.':host='.$this->dbHost.';dbname='.$this->dbName, $this->dbUser, $this->dbPass);
                return $this->con;
            } catch (PDOException $e){
                echo $e->getMessage();
                exit();
            }
        }else{
            return $this->con;
        }
    }
}
?>

我将用于数据库配置的 config.php 文件作为一个单独的文件包含在内。 我在项目的其他模型中从这个数据库连接类创建新对象并编写 sql 和运行查询。

我测试了这段代码,这是有效的。但我需要知道这种方式是否正确。

请告诉我这是正确的方法。

最佳答案

好吧,我认为这门课完全没有意义。以这种方式使用它的抽象性太差,但与常规 PDO 类相比并没有增加任何好处。

还有一个很多无用的代码:例如,您定义了三次凭据,但只使用它们一次

报错也是没用的,也是错误的。

我只制作行的整个文件

<?php
include_once 'config.php'
$pdo = new PDO(DB_SYS.':host='.DB_HOST.';dbname='.DB_NAME, DB_USER, DB_PASS);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

然而它会比你的更灵活和防错。

关于MVC 的 PHP 简单数据库连接类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19139813/

相关文章:

php - SQL 和不区分大小写的条件

javascript - 使用表单提交更新数据库中选定的下拉值

php - 用 php 做一个拼写检查器

php - 客户验证器 + form_login 选项破坏所有 csrf token

python - 如何将外键实例添加到它指向的模型实例

php - 你如何从 PHP 脚本中区分 MariaDB 和 MySQL?

php - 如何使用php计算while循环内的重复值

php - 如何按月获取总用户数mysql

php - 为什么我的数据库更新在没有刷新的情况下无法加载

php - 验证删除帖子功能?