mysql、mysqli、PDO
1.mysql与mysqli
mysqli是php5提供的新函数库,(i)表示改进,其执行速度更快.当然也更安全
mysql是非持继连接函数而mysqli是永远连接函数。也就是说,mysql每次链接都会打开一个连接的进程而mysqli多次运行mysqli将使用同一连接进程,从而减少了服务器的开销 有些朋友在编程的时候,
用PDO的好处是,PDO支持多种数据库,而MySQLi只支持MySQL,一但你掌握了就你可以随心所欲的使用连接多种数据库。
// PDO object oriented way 面向对象
$pdo = new PDO(“mysql:host=localhost;dbname=database”, ‘username’, ‘password’);
// mysqli, procedural way 过程
$mysqli = mysqli_connect(‘localhost’,‘username’,‘password’,‘database’);
// mysqli, object oriented way 对象
$mysqli = new mysqli(‘localhost’,‘username’,‘password’,‘database’);
安全性 防注入
性能
由于PDO能够支持其它非MySQL的数据库,而MySQLi专门针对MySQL设计的,所以MySQLi相对于PDO性能稍微好一些。
但是PDO和MySQLi都还是没有PHP原生的MySQL扩展快。但是这样性能比较其实意义不太大,因为它们都是相当快了,
如果你的程序性能要求不是特别苛刻话,三者都可以满足你。至于你要选择哪一种就要你根据的实践情况进行权衡。
数据备份
<?php // 备份数据库 $host = "localhost"; $user = "root"; //数据库账号 $password = "root"; //数据库密码 $dbname = "compa"; //数据库名称 header("Content-type:text/html;charset=utf-8"); // 这里的账号、密码、名称都是从页面传过来的 if (!mysql_connect($host, $user, $password)) // 连接mysql数据库 { echo '数据库连接失败,请核对后再试'; exit; } if (!mysql_select_db($dbname)) // 是否存在该数据库 { echo '不存在数据库:' . $dbname . ',请核对后再试'; exit; } mysql_query("set names 'utf8'"); $mysql = "set charset utf8;\r\n"; $q1 = mysql_query("show tables"); while ($t = mysql_fetch_array($q1)) { $table = $t[0]; $q2 = mysql_query("show create table `$table`"); $sql = mysql_fetch_array($q2); $mysql .= $sql['Create Table'] . ";\r\n"; $q3 = mysql_query("select * from `$table`"); while ($data = mysql_fetch_assoc($q3)) { $keys = array_keys($data); $keys = array_map('addslashes', $keys); $keys = join('`,`', $keys); $keys = "`" . $keys . "`"; $vals = array_values($data); $vals = array_map('addslashes', $vals); $vals = join("','", $vals); $vals = "'" . $vals . "'"; $mysql .= "insert into `$table`($keys) values($vals);\r\n"; } } $filename = $dbname . date('Ymjgi') . ".sql"; //存放路径,默认存放到项目最外层 $fp = fopen($filename, 'w'); fputs($fp, $mysql); fclose($fp); echo "数据备份成功";
mysql、mysqli、PDO相关推荐
- pdo mysql 和 mysqli_PHP中MySQL、MySQLi和PDO的用法和区别
设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然可以与MySQL4.1.3或更新的数 ...
- PHP中MySQL、MySQLi和PDO的用法和区别
MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension.MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全 ...
- mysqli mysql pdo_PHP中MySQL、MySQLi和PDO的用法和区别
PHP的MySQL扩展(优缺点) 设计开发允许PHP应用与MySQL数据库交互的早期扩展.mysql扩展提供了一个面向过程 的接口: 并且是针对MySQL4.1.3或更早版本设计的.因此,这个扩展虽然 ...
- wdcp php5.3 pdo_mysql,WDCP常用组件(memcache、mysqli、PDO_MYSQL、mysql innodb、libmcrypt、php zip)的安装方法...
一般来说WDCP安装之后就可以正常使用了,不过对于一些朋友来说还无法满足,现在收集了有关WDCP常用组件,比如memcache.mysqli.PDO_MYSQL.mysql innodb.libmcr ...
- 【转】mysql,mysqli,PDO三种方式连接数据库
[另外一个参考网址: http://www.cnblogs.com/DeanChopper/p/4646081.html ] [另外一个参考网址: http://www.jb51.net/articl ...
- php mysql persistent_PHP API中,MYSQL与MYSQLI的持久连接区别
很久很久以前,我也是因为工作上的bug,研究了php mysql client的连接驱动mysqlnd 与libmysql之间的区别php与mysql通讯那点事,这次又遇到一件跟他们有联系的事情,my ...
- php mysql增修删_PHP mysql PDO增、删、查、改
1 建立连接<?php $dbh=newPDO('mysql:host=localhost;port=3306; dbname=test',$user,$pass,array( PDO::ATT ...
- PHP+MySql+PDO实现简单增加、删除、修改、查询
最近学习中要使用PHP+MySql实现表单的增加.删除.修改.查询,看了很多简单案例后,写了一个简单的表单,下面请看代码,有错误的地方希望大佬们指教! 数据库名itcast , 表名emp_info ...
- php mysql pdo use_PHP连接到mysql的方法--mysqli和PDO
php连接到mysql数据库,经典的方式就是使用mysql_connect(),具体代码如下: mysql_connect($db_host, $db_user, $db_pass) or die(m ...
最新文章
- aes前台加密后台解密
- 美国三院院士「迈克尔•乔丹」长文论述:为什么说「人工智能革命」尚未发生...
- FMDB使用的数据库的三种形式
- PostgreSQL GIN multi-key search 优化
- Apache+PHP环境搭建
- 如何在virtualbox中对虚拟机截图
- linux redis安装使用,linux安装redis
- boost helloworlld
- the dhc driver package_DHC智商低?不,它用1k阅读,444个好看证明了自己
- 【技术体系】前端工程师
- 径向误差、偏心误差和薄棱镜误差
- 我是如何入门机器学习的呢
- 【OR】YALMIP大M法和凸包
- (原創) 如何控制TRDB-LTM輸出時某座標的顏色? (SOC) (DE2-70) (TRDB-LTM)
- 01 JavaScript的前世今生
- ArcGIS与插值(一): 统计与地统计
- 微信朋友圈广告怎么做?
- 堆排序(小根堆)的简单实现(java)
- 从零开始—仿牛客网讨论社区项目(一)
- NVR是什么设备?(Network Video Recorder,网络视频监控系统的存储转发部分)硬盘录像机DVR、视频编码器DVS、网络摄像机IPC
热门文章
- 录音混音编辑软件-MAGIX Samplitude Pro X6 Suite 17 0.1.21177 x64 WIN
- python udp伪造ip_Python扭曲的简单UDP转发器。保留源IP?
- 设计模式-Facade模式
- 持续学习 (continual learning/ life-long learning)详解
- 颗粒离散元软件(PFC)中Python第三方cartopy包配置
- iwconfig与iw设置网卡模式
- ExtJs6 路由有参无参使用方式
- 2023北京理工大学考研介绍
- 数据预处理相关Demo(缺失值、均值方差标准化、极差法归一化、主成分分析)
- 17款漂亮的 HTML5 网站模板免费下载