- 1、本文档共6页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PHP中mysl和mysqli的区别
一:PHP-MySQL 是 PHP 操作 MySQL 资料库最原始的 Extension ,PHP-MySQLi 的 i 代表 Improvement ,提更了相对进阶的功能,就 Extension 而言,本身也增加了安全性。而 PDO (PHP Data Object) 则是提供了一个 Abstraction Layer 来操作资料库,用讲的其实看不出来有有什麽差别,所以就直接看程式吧…首先,先来看一段用 PHP-MySQL 写成的程式码,这类的范例常用在世界各地:代码如下:?phpmysql_connect($db_host, $db_user, $db_password);mysql_select_db($dn_name);$result = mysql_query(SELECT `name` FROM `users` WHERE `location` = $location);while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){echo $row[name];}mysql_free_result($result);?乍看之下没什麽问题,但其实背后有些学问…这种方式不能 Bind Column ,以前例的 SQL 叙述来说,$location 的地方容易被 SQL Injection。后来于是发展出了 mysql_escape_string() (备注:5.3.0之后弃用) 以及 mysql_real_escape_string() 来解决这个问题,不过这麽一搞,整个叙述会变得}杂且丑陋,而且如果栏位多了,可以想见会是怎样的情形…代码如下:?php$query = sprintf(SELECT * FROM users WHERE user=%s AND password=%s,mysql_real_escape_string($user),mysql_real_escape_string($password));mysql_query($query);?在 PHP-MySQLi 中有了不少进步,除了透过 Bind Column 来解决上述问题,而且也多援 Transaction, Multi Query ,并且同时提供了 Object oriented style (下面这段 PHP-MySQLi 范例的写法) 和 Procedural style (上面 PHP-MySQL 范例的写法)两种写法…等等。代码如下:?php$mysqli = new mysqli($db_host, $db_user, $db_password, $db_name);$sql = INSERT INTO `users` (id, name, gender, location) VALUES (?, ?, ?, ?);$stmt = $mysqli-prepare($sql);$stmt-bind_param(dsss, $source_id, $source_name, $source_gender, $source_location);$stmt-execute();$stmt-bind_result($id, $name, $gender, $location);while ($stmt-fetch()){echo $id . $name . $gender . $location;}$stmt-close();$mysqli-close();?但看到这边又发现了一些缺点,例如得 Bind Result,这个就有点多余,不过这其实无关紧要,因为最大的问题还是在于这不是一个抽象(Abstraction)的方法,所以当后端更换资料库的时候,就是痛苦的开始…于是 PDO 就出现了(备注:目前 Ubuntu 和 Debian 来说,PDO 并没有直接的套件可以安装,而是必须透过 PECL 安装)。代码如下:roga@carlisten-lx:~$ pecl search pdo=======================================Package Stable/(Latest) LocalPDO 1.0.3 (stable) PHP Data Objects Interface.PDO_4D 0.3 (beta) PDO driver for 4D-SQL databasePDO_DBLIB 1.0 (stable) FreeTDS/Sybase/MSSQL driver for PDOPDO_FIREBIRD 0.2 (beta) Firebird/
您可能关注的文档
- MBTI 16性格类型及其通常具有的特征.doc
- mc-4可燃气检测仪和co测试仪价格.docx
- MCS7000频会议桥平台使用操作手册.doc
- Mini CP易设定相关=仅供参考=DEVO 8S版.doc
- MIT研究生学指导.doc
- Mobile平开发分类.doc
- MOS管检验作指引.doc
- MPACC初试巧经验介绍.doc
- MPLS L2PN VPWS的实现方式.doc
- MRB作业程序导书.doc
- 2024年证券分析与咨询服务项目投资申请报告代可行性研究报告.docx
- 2024年铬酸酐项目资金申请报告代可行性研究报告.docx
- 2024年清洁胶项目资金申请报告代可行性研究报告.docx
- 2024年肉松饼项目投资申请报告代可行性研究报告.docx
- 2024年陆上泵项目资金需求报告代可行性研究报告.docx
- 2024年未硫化复合橡胶及其制品项目资金需求报告代可行性研究报告.docx
- 2024年精密温控节能设备项目资金筹措计划书代可行性研究报告.docx
- 2024年汽车覆盖件模具项目资金筹措计划书代可行性研究报告.docx
- 宋词行书钢笔字帖.pdf
- 我的暑假生活作文三年级300字10篇.pdf
最近下载
- 高血压脑病的护理诊断ppt.pptx
- 中国骨关节炎疼痛管理临床实践指南(2020版).pptx VIP
- 发酵工程原理与技术应用 教学课件 作者 余龙江 主编 课件 第十章 发酵经济学.ppt
- 新建肉牛全产业链开发项目供应链管理方案.docx
- AQ8003-2007《安全验收评价导则》.pdf
- 中国骨关节炎疼痛管理临床实践指南.pptx VIP
- 上海市长宁区2022年高考一模英语听力试题及原文带答案(文末附听力音频获取).doc VIP
- Unit 3 Amazing animals Part B(教案)-2024-2025学年人教PEP版英语三年级上册.docx
- 英雄故事剧场《狼牙山五壮士》剧本-来源:小学语文教学(人物)(第2019007期)-山西教育教辅传媒集团有限责任公司.pdf VIP
- (安全生产)安全员日常工作备忘录最全版.doc VIP
文档评论(0)