php 中 PDO接口的使用

本文内容其实在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方法其实更为常用。

 

posted @ 2009-02-21 18:46  玉米疯收  阅读(2170)  评论(1编辑  收藏  举报