php连接Mysql简记

MySQL 是 PHP 操作 MySQL 数据库最原始的 Extension。MySQLi 的 i 代表 Improvement ,提供了相对进阶的功能,就 Extension 而言,本身也增加了安全性。而 PDO(PHP Data Object)则是提供了一个 Abstraction Layer 来操作数据库

使用原生 MySQL API

    MySQL API 大部分扩展自 PHP 5.5.0 起已废弃,并在将来会被移除。应使用 MySQLi或 PDO_MySQL 扩展来替换之。原生 MySQL API里$link都是可以省略的,如果没有填写,默认使用上一次的连接。建议写上。

 

使用MySQLi类

1、MySQLi面向过程

    与原生 MySQL API基本用法是一样的,只需将mysql替换成mysqli且把$link放在方法的第一个参数就行了。相比原生 MySQL API,面向过程化的MySQLi里的$link是不可以省略的,如果没有填写,会抛出一个警告。由上面代码也可以看出,面向过程化的MySQLi与原生 MySQL API基本一致。

      $result = mysqli_query($link, 'select * from user');

2、MySQLi面向对象

    比较重要的是MySQLi类mysqli_result类,前者用于发送查询,后者用于从结果集返回数据。

    $result = $link->query('select * from user') or die($link->errno . ':' .$link->error);

 

MySQLi    面向过程与面向对象的区别:从上面的两查询代码可以看出,面向对象是通过连接 new 出的 $link对象,访问其属性、方法等通过->的形式进行。

 

使用PDO

不管是使用原生的MySQL API,还是MySQLi,都还是有缺陷的。
1、不支持事务机制;
2、仅支持MySQL,不能使用其它数据库。
3、不安全,可能有注入风险
4、不支持异常处理

PHP的PDO扩展巧妙的解决了这些问题。

PDO使用dsn连接,支持众多类型的数据库,如mysql,postgresql,oracle,mssql等。

PDO(php data object)扩展类库为php访问数据库定义了轻量级的、一致性的接口,它提供了一个数据库访问抽象层。这样,无论你使用什么数据库,都可以通过一致的函数执行查询和获取数据。

PDO大大简化了数据库的操作并能够屏蔽不同数据库之间的差异,使用pdo可以很方便地进行跨数据库程序的开发,以及不同数据库间的移植,是将来php在数据库处理方面的主要发展方向。

 

命令描述
SELECT VERSION( )服务器版本信息
SELECT DATABASE( )当前数据库名 (或者返回空)
SELECT USER( )当前用户名
SHOW STATUS服务器状态
SHOW VARIABLES服务器配置变量

 

参考:
1、PHP: MySQL - Manual
http://php.net/manual/zh/set.mysqlinfo.php
2、原生 MySQL API - Manual
http://php.net/manual/zh/book.mysql.php
3、Mysqli — MySQL增强版扩展 - Manual
http://php.net/manual/zh/book.mysqli.php
4、PHP: PDO - Manual
http://php.net/manual/zh/book.pdo.php

转载于:https://my.oschina.net/u/3268486/blog/3063877

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值