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');//设置与数据库对应的字符编码,防止中文乱码 } }
我来说两句: