mysql 之PDO连接方式

由于YII 数据库用的是PDO连接方式 就不得不学习一下基础了

1,使用PDO 之前要先修改一下php.ini里面的配置  开启PDO扩展

PHP.ini中,去掉"extension=php_pdo.dll"前面的 ";" 号

extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_pdo_pgsql.dll
extension=php_pdo_sqlite.dll
extension=php_pdo_mssql.dll
extension=php_pdo_odbc.dll
extension=php_pdo_firebird.dll 

配置完不要忘记重启Apache 服务器哦

2,PDO连接mysql数据库

$db=new pdo("mysql:host=localhost; dbname=test","root","");

//默认不是长连接,若要使用数据库长连接,需要在最后加如下参数: array(PDO::ATTR_PERSISTENT => true)
$db=new pdo("mysql:host=localhost; dbname=test","root","",array(PDO::ATTR_PERSISTENT => true));

3,PDO常用方法、

$db->query() 主要是用于有记录结果返回的操作,特别是SELECT操作
$db->exec() 主要是针对没有结果集合返回的操作,如INSERT、UPDATE等操作
$db->lastInsertId() 返回上次插入操作,主键列类型是自增的最后的自增ID 

PDOStatement::fetch() 是用来获取一条记录
PDOStatement::fetchAll() 是获取所有记录集到一个中 

//增加  也可以用query();

$insert=$db->exec('INSERT INTO user (`name`,`age`,`tel`)values("andy","26","13508996610")');

$lastid=$db->lastInsertId();  //插入的最后一条记录id

//删除
//$count=$db->exec("delete from user where id=2");

//修改
$update=$db->exec("UPDATE user set `name`='andy_shi',`age`='24' where id=$lastid ");

//查

$db->setAttribute(PDO::ATTR_CASE, PDO::CASE_LOWER);//设置数组索引大小写

//PDO::CASE_LOWER -- 强制列名是小写
//PDO::CASE_NATURAL -- 列名按照原始的方式
//PDO::CASE_UPPER -- 强制列名为大写 


$query=$db->query("select name from user");
$query->setfetchmode(pdo::FETCH_ASSOC); //设置数组关联方式

//PDO::FETCH_ASSOC-- 关联数组形式
//PDO::FETCH_NUM -- 数字索引数组形式
//PDO::FETCH_BOTH -- 两者数组形式都有,这是缺省的
//PDO::FETCH_OBJ -- 按照对象的形式,类似于以前的mysql_fetch_object(

while($row=$query->fetchAll()){
       echo "<pre>";
print_r($row);
}


PDO查询中文乱码问题

$db->query("set names 'utf8';");  加入这一行代码设置一下就可以了


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值