MVC 的 PHP 简单数据库连接类

2023-12-12

我已经为简单的 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;
        }
    }
}
?>

包括我配置文件将数据库配置文件作为单独的文件。 我正在项目中其他模型中的此数据库连接类创建新对象,并编写 sql 并运行查询。

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

请让我知道这是正确的方法。


好吧,我认为这门课根本没有任何意义。以这种方式使用它的抽象漏洞太多,但它比常规 PDO 类没有任何优势。

还有一个大量无用代码:例如,您定义您的凭据三次,仅使用它们once.

错误报告也是无用且错误的。

我会把整个文件做成four仅线路

<?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);

但它会比你的更加灵活和防错。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 的 PHP 简单数据库连接类 的相关文章

  • 禁用外部点击时关闭模式

    我正在制作一些使用模式的博客物质化 但我的模态 onclick 外部和错误数据有问题 这是我的代码 main js function changepassword var user userlog val var content conte
  • zend 表单验证

    我想知道 Zend Form 如何验证输入 我的意思是它如何知道要验证哪些输入字段 我查看了 php 全局变量 POST GET 但没有看到任何设置为标识符 例如 的内容 以便了解如何验证 有人能给我推荐一些关于这些东西的指南吗 好吧 找出
  • 如何在没有 session_destroy 的情况下销毁 Zend_Session_Namespace

    我使用以下方法在临时会话中存储一些值 job new Zend Session Namespace application 我如何只销毁会话应用无需清除所有会话 要从会话中删除值 请对对象属性使用 PHP 的 unset 函数 假设 job
  • PHP Github Pull 脚本错误“权限被拒绝(公钥)”

    我已经设置了一个 PHP 脚本来执行 GitHub 拉取 这包含在我的 Github 文件夹中 home mysite public html github github pull php 我的服务器已经有 SSH 公钥 就像我执行git
  • Memcache 不会刷新或清除内存

    我一直在尝试清除我的内存缓存 因为我注意到使用时存储占用了近 30 的服务器内存ps aux 所以我运行了以下 php 代码 memcache new Memcache memcache gt connect localhost 11211
  • 优雅地退出 Laravel 作用域

    我有一个范围 它根据用户角色以限制方式起作用 您可以将一组规则转发到限制数据库最终输出的范围 一个非常简化的角色限制示例 first name foo 只会返回其记录first name开始于foo 这实际上意味着我已禁止具有该角色的用户查
  • MySQL 两种日期格式之间的转换

    用户将以这种格式输入日期 2017 年 2 月 17 日 存储在 mysql 数据库中的日期格式如下 2015 02 17 00 00 00 我想做的是 SELECT FROM insurance where DATE FORMAT in
  • 彩色 var_dump() 和错误

    我怎样才能将样式设置为var dump 功能和PHP错误样式 如下图所示 目前我有下一个观点var dump with pre var dump pre 没有它将全部在一行中 并且只是纯文本的错误 我搜索了一些 PHP 颜色错误 var d
  • 如何绕过Access-Control-Allow-Origin?

    我正在一个平台上对我自己的服务器进行ajax调用 他们设置了阻止这些ajax调用的平台 但我需要它从我的服务器获取数据以显示从我的服务器数据库检索到的数据 我的 ajax 脚本正在运行 它可以将数据发送到我的服务器的 php 脚本以允许其处
  • Yii 未检测到骆驼案例操作

    伊伊正在给我404 Error如果我声明这样的操作 站点控制器 php public function actionRegisterUser 这就是我在main php label gt Register User url gt site
  • PHP 中的异或加密

    我是 Xor 加密的新手 并且在使用以下代码时遇到了一些问题 function xor this string Let s define our key here key magic key Our plaintext ciphertext
  • 自定义 WordPress 画廊 html 布局

    当使用默认媒体上传器在 WordPress 中创建图像库时 WordPress 将图像包装在一堆 HTML 标记中 如何在生成之前覆盖它 以便我可以输出所需的标记并更改创建图库布局的方式 目前 WordPress 生成的代码如下 div d
  • sql直接获取表行数的方法

    stackoverflow 的朋友们大家好 我的例行程序中有一个我认为不必要的步骤 假设您想从图库中获取所有图像 并限制每页一定数量的图像 db PDO object start pagenum x images per page limi
  • 将客户分配到 magento 的多个客户组

    您好 我想将多个组分配给特定客户 例如 Rajat 客户 属于 批发 零售商 电力 实际上我在上面看到了同样的话题每个客户有多个客户组 https stackoverflow com questions 6153011 multiple c
  • 使用 Imagick 动态图像创建/Apache 标头

    在将现有的稳定网站转移到新服务器时 我遇到了一些使用 Imagick 动态创建图像的代码的间歇性问题 该代码解析 GET 查询 例如 example com image php ipid 750123 r 0 w 750 h 1000 然后
  • 创建单个随机 Magento 优惠券

    我遇到了一些麻烦 我想要做的是每次有人订阅我们的时事通讯时 在 Magento 中自动生成一个随机优惠券代码 这张优惠券可减 10 美元 并且有exp 订阅后两周的日期 因此 我正在尝试编写一个简单的脚本 当提交 订阅我们的时事通讯 表单时
  • PHP date() 和 strtotime() 返回错误的月份 31 日

    我在用着date and strtotime 函数在下拉列表中显示接下来的 3 个月 PHP代码 echo date m Y strtotime 0 months echo date m Y strtotime 1 months echo
  • 我如何向 Windows Server IIS 7 中的文件夹授予权限

    我是 PHP 和 Windows Server 新手 在查看我在 PHP 中创建的表单时遇到以下错误 Error in exception handler The stream or file C inetpub wwwroot wrp a
  • mysql 查询选择当月的所有行?

    我有一个名为 startdate 的日期时间类型的列 我必须获取当前月份的开始日期和结束日期之间的所有行 即从 1 11 2014 到 30 11 2014 select from your table where year curdate
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p

随机推荐

  • 将java转换为c#代码的工具[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 目前将 java 转换为 c 的最佳工具是什么 除了 j2c翻译器 j 我现在用的是IKVM 供你参考 Sharpen by db4o XES 远程软件八达通 商业的 注意 我对它们
  • 如何使用 jquery 定位特定字母/单词?

    举个例子 我想应用该类 fancy to 所有出现的情况的标志 amp 在文件中 The CSS fancy font style italic 所以文本看起来像这样 Ben amp Jerry s 将被 jquery 操纵为 Ben sp
  • MATLAB 四舍五入到最接近的整数

    我有一个1x50000尺寸矩阵v我想将其转换为零均值和单位方差 x v mean v std2 v 但 MATLAB 没有给我精确的浮点值 而是将其转换为最接近的整数 请帮助我获得准确的值 检查数据类型 for v 我确信这是一个整数类型
  • 在 python 中获取 windows 版本的更好方法是什么?

    我将编写一个执行 Windows 操作系统版本检查的程序 因为我可以使用 sys windowsversion 0 或返回字符串而不是 int 的平台模块来执行此操作 那么获取 Windows 发行版本的更好方法是什么 您可以通过致电来做到
  • 以编程方式将文本大小设置为 android 中微调器中的文本

    您好 我想以编程方式 动态 设置微调器中文本的样式和大小 我在我的应用程序中没有为此使用任何资源 所以请给我一些建议 我认为您不能在不覆盖默认布局资源的行为的情况下动态创建它 要使用资源创建它 创建一个布局文件 其中包含TextView并为
  • React Native:任务:react-native-maps:compileDebugRenderscript失败

    我正在尝试实现 React NativeMapView对于安卓 我确实关注了github安装指令 但当我尝试使用运行时遇到编译错误react native run android命令 任务 react native maps compile
  • 在 emacs 终端中使用 Ctrl-X 命令?

    当我在 emacs 中运行终端时 使用M x term 我似乎无法使用以C X 比如说C x o切换窗格或C x C c退出 相反 终端本身似乎正在接收这些C x信号 相比之下 C c命令由 emacs 本身接收 我怎样才能改变这种行为 t
  • 火狐浏览器扩展无法工作

    我已经创建了一个 Firefox 扩展 但无法使用它 什么也没有发生 有人知道为什么吗 模块层次结构 我的火狐扩展 chrome manifest 安装 rdf chrome content 语言环境 html 覆盖 js 样本 xul 代
  • 使用 Rails 中的辅助方法向 HAML 标记添加动态属性

    所以我想出了一种方法来做到这一点 但是有没有更简单的方法呢 我想要做的只是在 th 标记之后添加 class 如果 params sort sortBy 我真的需要在辅助方法中包含 HAML 的其余部分吗 这是我的 helper rb 文件
  • Twisted Python:无法写入正在运行的生成进程

    我的问题是 在生成进程后 子进程正在循环以从其标准输入获取数据 我想使用 Echo Process pipes 0 write data 或 Echo Process writeToChild 0 data 向其写入新数据 但两者都不起作用
  • 无法使用 virtualenv 运行 Apache2

    我正在制作一个基于 Django 的网站 在服务器上安装了 Python 3 5 但我的项目需要 Python 3 6 我决定使用 virtualenv 我成功安装了所需版本的 Python 但无法使其与 Apatche2 一起使用virt
  • ruby 1.9 和rails 的soap 客户端

    到目前为止 我使用soap4r 作为 Ruby 1 8 x 的 SOAP 客户端 但现在我正在转向 Ruby 1 9 x 不幸的是 soap4r 不能与 Ruby 1 9 x 一起工作 我只是得到了 无效的多字节转义 这似乎无法解决 主要是
  • 如何连接派生表?

    sql语句是这样的 select posts id posts title from posts inner join select distinct post id created at from comments order by cr
  • 是否可以即时更改 PrimeFaces 主题?

    我有一个多租户系统 用户签名后将在应用程序中拥有自定义主题 我想知道是否可以在用户签名后 动态 更改主题 我是 Primefaces 的新手 感谢您的帮助 Primefaces 已经实现了 jQuery UI主题滚轮 在你的 web xml
  • 从分叉创建新的拉取请求,而无需提交前一个分叉

    因此 我对其他人的存储库进行了一些提交 然后提交了相同的拉取请求 我的旧拉取请求尚未合并 现在我需要提交一个新的拉取请求 而不需要以前的提交 但要对我的分叉进行新的更改 我需要我的旧拉取请求及其提交也留下来 我怎样才能做到这一点 要真正理解
  • Nginx 自动将 HTTP 重定向到 HTTPS

    我正在尝试重定向我的所有流量http to https自动地 如何对我的所有域和子域进行 301 重定向 这是 NGINX 配置文件 upstream app server server unix run DigitalOceanOneCl
  • 为什么 SQL Server 将 SS 视为 Umlaut-S (ß)?

    当我运行以下查询时 select charindex COMMISSIONING 它返回 6 我专门选择 作为函数 因为我认为它不太可能出现在我的任何数据中 这几周工作得很好 但现在突然它在没有 的地方检测到 因此搞砸了我的功能 有人可以告
  • 重命名列后出现 keyerror

    I have df df pd DataFrame a 7 8 9 b 1 3 5 c 5 3 6 print df a b c 0 7 1 5 1 8 3 3 2 9 5 6 然后将第一个值重命名为this df columns valu
  • “git push appengine master”中需要用户名和密码

    这是我第一次使用 Google App Engine 我正在尝试上传 PHP 网站 我正在尝试使用 git 上传它 我遵循了他们的教程 最后他们说要输入这段代码 所以我就这么做了 我尝试在 git bash 中输入这段代码 这是代码 git
  • MVC 的 PHP 简单数据库连接类

    我已经为简单的 MVC 模式构建了新的数据库连接类 我需要知道这是执行此操作的正确方法