PDO数据库操作类——连接指定类型数据库
[文章作者:磨延城 转载请注明原文出处: https://mo2g.com/view/76/ ]
mPHP核心框架通过PDO类,很容易就能从一个数据库迁移到另一个数据库,只需修改几行配置即可.我的博客就经历过从postgresql迁移回Mysql,再迁移到MariaDB上.之所以这么折腾,还得说点题外话.
mPHP核心框架通过PDO类,很容易就能从一个数据库迁移到另一个数据库,只需修改几行配置即可。我的博客就经历过从postgresql迁移回Mysql,再迁移到MariaDB上。之所以这么折腾,还得说点题外话。
2013年,回到南宁加入的第一家刚成立不久的互联网公司,使用的postgresql数据库,网站基于drupal开源系统开发。当时我对postgresql的了解仅仅停留在看过一些关于postgresql与mysql的评测,drupal开源系统对我来说更是新鲜事物,毕竟我在越野e族做开发的时候,用的都是部门定制的框架,像dede、discuz、ThinkPHP这类优秀的开源程序我都没使用过。
他们列出的技能都是我没掌握的技术,所以一开始我就以学习的心态加入了他们。后来,我发现这家公司完全没能力驾驭这些技术,一知半解环境,更不用说培训了,只是花钱买了drupal的视频教程,剩下的完全自己琢磨。搞笑的是,服务器买回来后,postgresql数据库还得由我来配置才能正常使用,现在想想都想笑。
当初为了“与时俱进”,我才在磨途歌的阿里云服务器上安装了postgresql数据库.。几经周折,我最后又把数据库改成了MariaDB。原因如下,postgresql相关的中文书籍资料没有Mysql的多,最核心的一点的是:web程序的瓶颈究竟在数据库,还是自己?
言归正传,PDO连接数据库的方法如下:
<?php
$CFG['host'] = '127.0.0.1';//服务器地址
$CFG['port'] = '3306';//数据库端口
$CFG['user'] = 'root';//数据库用户名
$CFG['password'] = '123456';//密码
$CFG['dbname'] = 'mo2g';//数据库
$CFG['type'] = 'mysql';//数据库类型,postgresql的类型为pgsql
$pdo = new pdoModel($CFG);
class pdoModel {
public function __construct($arrConfig) {
$type = $arrConfig['type'];
$name = $arrConfig['dbname'];
$host = $arrConfig['host'];
$port = $arrConfig['port'];
$user = $arrConfig['user'];
$pass = $arrConfig['password'];
$link = "{$type}:host={$host};port={$port};dbname={$name}";
try {
//$this->db = new PDO($link, $user, $pass);//短链接
$this->db = new PDO($link, $user, $pass, array(PDO::ATTR_PERSISTENT => true));//长链接
} catch( PDOException $e ) {
$this->db = false;
//连接失败则输出自己想要的信息
//echo 'PDO Connection failed: ' . $e->getMessage();
//echo '网站正在进行更新升级操作,为此给您带来的不便,请谅解...';
return false;
}
$this->db->exec('set names utf8');//设置与数据库对应的字符编码,防止中文乱码
}
}
我来说两句: