CI框架中pdo的使用方法

1、配置
application/config文件夹下的database.php文件
$active_group = 'default';
$active_record = TRUE;
$db['default']['hostname'] = 'mysql:hostname=localhost;dbname=myproject';
$db['default']['username'] = 'myproject';
$db['default']['password'] = 'myproject';
$db['default']['database'] = '';
$db['default']['dbdriver'] = 'pdo';
$db['default']['dbprefix'] = '';
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = TRUE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = '';
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
$db['default']['swap_pre'] = '';
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

2、使用方法

手动加载数据库

$this->load->database()

自动加载数据库

application/config文件夹下的autoload.php文件

$autoload['libraries'] = array('database');

select :

$sql = 'select * from aaa where id = :id';
$sql_array = array(
	':id' => 1 
);
$stmt = $this->db->conn_id->prepare($sql);
$stmt->execute($sql_array);
$arr_user = $stmt->fetchAll(PDO::FETCH_ASSOC); //返回一个包含结果集中所有行的数组,相当于mysql中的result_array
$str_user = $stmt->fetch(PDO::FETCH_ASSOC); //从结果集中获取下一行,相当于mysql中的row_array
 获取查询结果总行数两种方法:(第二种更有效率) 
(1)、$Count_num = count($arr_user);

(2)、
$sql = 'select * from aaa where id = :id';
$sql_array = array(
	':id' => 1 
);
$stmt = $this->db->conn_id->prepare($sql);
$stmt->execute($sql_array);
$str_user = $stmt->fetch(PDO::FETCH_ASSOC);
$Count_num = $str_user[0];


判断查询是否成功:

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



insert 、update、delete :

除了sql语句语法不同,查询的方法是一样的


$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);

判断查询是否成功:

$stmt->rowCount();
if($stmt->rowCount()>0){
 //查询成功
}else{
 //查询失败
}

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

pdo中的写法是 $stmt->lastInsertId();







评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值