您的位置:首页 > 编程语言 > PHP开发

php 中 PDO接口的使用

2009-02-21 18:46 531 查看
本文内容其实在PHP手册中都有,而且更加的深刻全面,这里只是个人做个笔记,呵呵

首先,先实例化pdo的对象

define('DB_HOST', 'localhost');
define('DB_PORT', 3306);
define('DB_NAME', 'oooo');
define('DB_CHARSET', 'utf8');
define('DB_USER', 'root');
define('DB_PASSWORD', 'hicc');

$dsn = sprintf("mysql:host=%s;dbname=%s;port=%d;charset=%s", DB_HOST, DB_NAME, DB_PORT, DB_CHARSET);
try{
$pdo = new PDO($dsn, DB_USER, DB_PASSWORD);
$pdo->query("set names " . DB_CHARSET);
}catch(PDOException $e){
error_log($e->errorInfo());
}

注:上面的define可以用普通的变量呀,至于为什么用define,是为了有一个全局的东西。

然后:执行一语sql语句,并返回它影响的行数

$sql =<<<SQL
insert into atm_service (name,dep_id,product_id) values ('a',1,2),('b',2,3)
SQL;
$count = $pdo->exec($sql);

这里会 $count=2

还可以:执行一语sql语句,返回一个结果关联数组

$sql =<<<SQL
select * from aaaa
SQL;
$rs_r = $pdo->query($sql);
while($rs_aos = $rs_r->fetchAll(PDO::FETCH_ASSOC)){
var_dump($rs_aos);
}

还可以:执行一语sql语句,返回第一行第一列的值(多用于统计记录数,如分页中的总页数统计)

$sql =<<<SQL
select count(*) from aaaa
SQL;
$rs_r = $pdo->query($sql);
$count = $rs_r->fetch(PDO::FETCH_COLUMN));

返回表aaaa中有多少条记录

还可以,插入一条数据,并返回刚插入数据的ID

$SQL = <<<SQL
insert into atm_user(name,pass)
values('zhangyufeng','baobaoke')
SQL;
$count = $pdo->exec($SQL);
$user_id = $pdo->lastInsertId();

---------------------------------------------------

还有很多参数和方法参考手册,而且pdo的prepare方法其实更为常用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: