php中数据库连接方式pdo和mysqli对比分析_.docx

上传人:PIYPING 文档编号:11614462 上传时间:2021-08-26 格式:DOCX 页数:6 大小:12.84KB
返回 下载 相关 举报
php中数据库连接方式pdo和mysqli对比分析_.docx_第1页
第1页 / 共6页
php中数据库连接方式pdo和mysqli对比分析_.docx_第2页
第2页 / 共6页
php中数据库连接方式pdo和mysqli对比分析_.docx_第3页
第3页 / 共6页
php中数据库连接方式pdo和mysqli对比分析_.docx_第4页
第4页 / 共6页
php中数据库连接方式pdo和mysqli对比分析_.docx_第5页
第5页 / 共6页
亲,该文档总共6页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《php中数据库连接方式pdo和mysqli对比分析_.docx》由会员分享,可在线阅读,更多相关《php中数据库连接方式pdo和mysqli对比分析_.docx(6页珍藏版)》请在三一文库上搜索。

1、php中数据库连接方式pdo和mysqli对比分析_ 这篇文章主要介绍了php中数据库连接方式pdo和mysqli从各个方面进行了对比分析,非常全面,这里推举给大家,有需要的小伙伴来参考下。 1)总的比较 PDOMySQLi 数据库支持12种不同的数据库支持支持MySQL APIOOPOOP + 过程 ConnectionEasyEasy 命名参数支持不支持 对象映射支持支持支持 预处理语句 (客户端)支持不支持 性能快快 支持存储过程支持支持 2 连接方式 先来看下两者连接数据库的方式: 代码如下: / PDO $pdo = new PDO(mysql:host=localhost;dbna

2、me=database, username, password); / mysqli, 面对过程方式 $mysqli = mysqli_connect(localhost,username,password,database); / mysqli, 面对对象 $mysqli = new mysqli(localhost,username,password,database); 3 数据库支持 PDO支持多种数据库,但MYSQLI只支持MYSQL 4 命名参数name parameter PDO的方式: 代码如下: $params = array(:username = test, :email

3、 = $mail, :last_login = time() - 3600); $pdo-prepare( SELECT * FROM users WHERE username = :username AND email = :email AND last_login :last_login); 而MYSQLI则麻烦点,不支持这样,只能: 代码如下: $query = $mysqli-prepare( SELECT * FROM users WHERE username = ? AND email = ? AND last_login ?); $query-bind_param(sss, te

4、st, $mail, time() - 3600); $query-execute(); 这样的话,一个个对问号的挨次,也比较麻烦,不大便利。 5 ORM映射的支持 比如有个类user,如下: 代码如下: class User public $id; public $first_name; public $last_name; public function info() return # . $this-id . : . $this-first_name . . $this-last_name; $query = SELECT id, first_name, last_name FROM u

5、sers; / PDO $result = $pdo-query($query); $result-setFetchMode(PDO:FETCH_CLASS, User); while ($user = $result-fetch() echo $user-info() . n; MYSQLI用面对过程的方式: 代码如下: if ($result = mysqli_query($mysqli, $query) while ($user = mysqli_fetch_object($result, User) echo $user-info().n; MYSQLI采纳面对过程的方式: 代码如下:

6、 / MySQLi, object oriented way if ($result = $mysqli-query($query) while ($user = $result-fetch_object(User) echo $user-info().n; 6 防止SQL注入方面: PDO 手工设置 代码如下: $username = PDO:quote($_GETusername); $pdo-query(SELECT * FROM users WHERE username = $username); 用法mysqli 代码如下: $username = mysqli_real_escap

7、e_string($_GETusername); $mysqli-query(SELECT * FROM users WHERE username = $username); 7 preparestament PDO方式: 代码如下: $pdo-prepare(SELECT * FROM users WHERE username = :username); $pdo-execute(array(:username = $_GETusername); MYSQLI: 代码如下: $query = $mysqli-prepare(SELECT * FROM users WHERE username = ?); $query-bind_param(s, $_GETusername); $query-execute(); 小伙伴们是否通过本文对于PHP的2种链接方式PDO和mysqli有了新的认识了呢,盼望本文能对大家有所关心。 更多信息请查看IT技术专栏 .

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1