您的位置:首页 > 其它

CI框架中pdo的使用方法

2016-05-16 14:43 309 查看
1、配置文件修改
application/config文件夹下的database.php文件

$db['default'] = array(
    'dsn'    => 'mysql:dbname=ci_ecshop;host=127.0.0.1',

    'username' => 'root',

    'password' => '',

    'dbdriver' => 'pdo',

2、查询操作


[php] view
plain copy 





$sql = 'select * from aaa where id = :id';  

$sql_array = array(  

    ':id' => 1   

);  

$stmt = <span style="color:#FF0000;">$this->db->conn_id</span>->prepare($sql);//<span style="color:#FF6600;">$this->db->conn_id 是一个pdo对象</span>  

$stmt->execute($sql_array);  

$arr_user = $stmt->fetchAll(PDO::FETCH_ASSOC); //返回一个包含结果集中所有行的数组,相当于mysql中的result_array  

$str_user = $stmt->fetch(PDO::FETCH_ASSOC); //从结果集中获取下一行,相当于mysql中的row_array  

判断查询是否成功:

[php] view
plain copy 





$stmt->execute($sql_array); //这句语句会返回true或者false,代表查询是否成功  

3、insert 、update、delete  等操作
除了sql语句语法不同,查询的方法是一样的

[php] view
plain copy 





$sql = "update aaa SET status = -1 WHERE id= :id";  

$sql = "INSERT INTO aaa(`id`) VALUES ( :id)";  

$sql = "delete from aaa where id= :id";  

$sql_array = array(  

    ':id' => 1   

);  

$stmt = $this->db->conn_id->prepare($sql);  

$stmt->execute($sql_array);  

判断查询是否成功:

[php] view
plain copy 





$stmt->rowCount();  

if($stmt->rowCount()>0){  

 //查询成功  

}else{  

 //查询失败  

}  

4、另外,insert的时候,有时候需要返回insert_id

[php] view
plain copy 





pdo中的写法是 $stmt->lastInsertId(); 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: