本文最后更新于 3403 天前,其中的信息可能已经有所发展或是发生改变。
PHP Data Objects(PDO)是随着PHP5.1发布开始附带的,所以不用担心你的PHP环境上是否支持PDO扩展。
该扩展默认是开启的,如果你的代码跑不起来,应该去phpinfo看看是否已经开启PDO扩展。
ThinkPHP从3.2.3版本开始,数据库类和驱动采用PDO重写了。但我在学TP之前还不知道PDO,还在用那个要被淘汰的mysql扩展。
下面是PDO常用的方法
PDO::query() 一般用于SELECT操作
PDO::exec() 一般用于INSERT、UPDATE等不需要返回记录集的操作
PDO::prepare() 预处理操作,需要通过创建的statement->execute()来执行经过预处理的SQL语句
PDO::lastInsertId() 返回上次插入的自增ID
PDOStatement::execute() 执行通过PDO::prepare()预处理过的SQL语句
PDOStatement::fetch() 返回一条记录
PDOStatement::fetchAll() 返回一个包含结果集中所有行的数组
PDOStatement::fetchColumn() 返回记录集中第一行的第一个字段
PDOStatement::rowCount() 返回受 DELETE、INSERT、 或 UPDATE 语句影响的行数。对PDO::exec()方法和SELECT操作无效。
操作MySql的实例
<?php $pdo = new PDO("mysql:host=localhost;dbname=数据库名","账号","密码"); $rs = $pdo->query("SELECT * FROM table"); foreach($rs as $row) { $users[] = $row; } $stmt = $pdo->prepare("INSERT INTO table VALUES(:name,:sex,:age)"); $stmt->bindParam(":name",$name); $stmt->bindParam(":sex",$sex); $stmt->bindParam(":age",$age); $stmt->execute(); ?>