PHP中利用PDO_mysql操作MySQL数据库

在刚刚接触PHP时,曾遇到过这样一个坑,就是在PHP7.0版本中无法使用mysql连接数据库,当时只好降级PHP版本来通过mysql来连接数据库(很无奈的做法),但作为一个与时俱进的程序员,必须学习新的技术才能保持竞争力,所以今天就介绍一下利用PDO_mysql连接MySQL,这也是PHP新版本推荐使用的一个扩展。

PDO_mysql操作

  1. 在php.ini中开启PDO_mysql扩展
//取消注释
extension=php_pdo_mysql.dll
  1. 实例化PDO对象
    构造方法中有4个参数:
    $dsn:Data Source Name 数据源名称,需要的数据来源的描述
    $username:数据库用户名
    $password:数据库密码
    $driver_options:驱动选项,对应当前数据库服务器中一些特定的初始化工作。
//说明数据库类型,地址,端口,数据库名
$dsn = 'mysql:host=127.0.0.1;port=3306;dbname=php';
$username = 'root';
$password = 'admin';
$driver_options = array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES UTF8',);
$pdo = new PDO($dsn,$username,$password,$driver_options);
  1. 发送SQL到服务器,等待返回结果
    PDO初始化完成就以为这已经连接到数据库,接下来要做的就是通过SQL进行数据库操作。
$sql = "show databases";
$result = $pdo->query($sql);
  1. 得到结果,处理结果
    返回的结果被PDOStatement类对象管理,返回的结果会自动封装为该对象,这里我们使用这个对象中fetchAll()方法来展示查询到的所有结果,默认返回关联性索引集合,如果需要返回数值型索引,传入PDO::FETCH_NUM
$list = $result->fetchAll(PDO::FETCH_NUM);

PDO对象中的常用方法

1.errorInfo()errorCode():获取错误信息。

if(!$result = $pdo->query("show databases")){
    //错误信息
    var_dump($pdo->errorInfo());
    //错误代码
    var_dump($pdo->errorCode());
}

2.beginTransaction():开始事务
3.rollback():回滚事务
4.commit():提交事务
5.inTransaction():判断是否处于事务中
6.lastInsertID(): 获取最后形成的auto_increment字段的值
7.Exec():又一个执行SQL的方法,区别于query(),返回值类型不同。Exec()返回值类型为整型(表示当前所执行SQL所影响的记录数,用于非查询类),query()返回对象(用于执行查询类)

你可能感兴趣的:(PHP中利用PDO_mysql操作MySQL数据库)