PHP连接MySQL数据库三种实现方法.pdfVIP

  1. 1、本文档共2页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

PHP连接MySQL数据库三种实现⽅法

引⾔

PHP与MySQL的连接有三种API接⼝,分别是:PHP的MySQL扩展、PHP的mysqli扩展、PHP数据对象(PDO),下⾯针对以

上三种连接⽅式做下总结,以备在不同场景下选出最优⽅案。

PHP的MySQL扩展是设计开发允许php应⽤与MySQL数据库交互的早期扩展。MySQL扩展提供了⼀个⾯向过程的接⼝,并且是

针对MySQL4.1.3或者更早版本设计的。因此这个扩展虽然可以与MySQL4.1.3或更新的数据库服务端进⾏交互,但并不⽀持后

期MySQL服务端提供的⼀些特性。由于太古⽼,⼜不安全,所以已被后来的mysqli完全取代;

PHP的mysqli扩展,我们有时称之为MySQL增强扩展,可以⽤于使⽤MySQL4.1.3或更新版本中新的⾼级特性。其特点为:⾯

向对象接⼝、prepared语句⽀持、多语句执⾏⽀持、事务⽀持、增强的调试能⼒、嵌⼊式服务⽀持、预处理⽅式完全解决了

sql注⼊的问题。不过其也有缺点,就是只⽀持mysql数据库。如果你要是不操作其他的数据库,这⽆疑是最好的选择。

PDO是PHPDataObjects的缩写,是PHP应⽤中的⼀个数据库抽象层规范。PDO提供了⼀个统⼀的API接⼝可以使得你的PHP

应⽤不去关⼼具体要连接的数据库服务器系统类型,也就是说,如果你使⽤PDO的API,可以在任何需要的时候⽆缝切换数据库

服务器,⽐如从Oracle到MySQL,仅仅需要修改很少的PHP代码。其功能类似于JDBC、ODBC、DBI之类接⼝。同样,其也

解决了sql注⼊问题,有很好的安全性。不过他也有缺点,某些多语句执⾏查询不⽀持(不过该情况很少)。

代码⽰例

PHP与Mysql扩展(本扩展⾃PHP5.5.0起已废弃,并在将来会被移除),PHP原⽣的⽅式去连接数据库,是⾯向过程的

$mysql_conf=array(

host=127.0.0.1:3306,

db=test,

db_user=root,

db_pwd=root,

);

$mysql_conn=@mysql_connect($mysql_conf[host],$mysql_conf[db_user],$mysql_conf[db_pwd]);

if(!$mysql_conn){

die(couldnotconnecttothedatabase:\n.mysql_error());//诊断连接错误

}

mysql_query(setnamesutf8);//编码转化

$select_db=mysql_select_db($mysql_conf[db]);

if(!$select_db){

die(couldnotconnecttothedb:\n.mysql_error());

}

$sql=select*fromuser;;

$res=mysql_query($sql);

if(!$res){

die(couldgettheres:\n.mysql_error());

}

while($row=mysql_fetch_assoc($res)){

print_r($row);

}

mysql_close($mysql_conn);

PHP与Mysqli扩展,⾯向过程、对象

?php

$mysql_conf=array(

host=127.0.0.1:3306,

db=test,

db_user=root,

db_pwd=joshua317,

);

$mysqli=@newmysqli($mysql_conf[host],$mysql_conf[db_user],$mysql_conf[db_pwd]);

if($mysqli-connect_errno){

die(couldnotconnecttothedatabase:\n.$mysqli-connect_error);//诊断连接错误

}

$mysqli-query(setnamesutf8;);//编码转化

$select_db=$mysqli-select_db($mysql_conf[db]);

if(!$select_db){

d

文档评论(0)

184****1486 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档