操作多种数据库的方法--PDO

PHP 5.1 发布时将附带一个全新的数据库连接层,即 PHP Data Objects (PDO)。虽然 PHP 一直都拥有很好的数据库连接,但 PDO 让 PHP 达到一个新的高度。下面跟着小编一起来学习pdo。

首先PDO提供了操作多种数据库的统一接口。(面向对象)

PDO的主要数据库驱动需要同步到我们php.ini中的一个扩展项

extension=php_pdo.dll

除了将上面的这个配置项打开,还需要打开以下的数据库扩展打开:

;extension=php_pdo_firebird.dll
    ;extension=php_pdo_informix.dll
    ;extension=php_pdo_mssql.dll
    ;extension=php_pdo_mysql.dll
    ;extension=php_pdo_oci.dll
    ;extension=php_pdo_oci8.dll
    ;extension=php_pdo_odbc.dll
    ;extension=php_pdo_pgsql.dll
    ;extension=php_pdo_sqlite.dll
现在我们来写一个添加的代码:
<?php
header('content-type:text/html;charset=utf8');
//连接数据库,主机名
$dsn="mysql:dbname=stucourse;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="root";
//生成PDO对象(面向对象);
$object = new PDO($dsn,$user,$password);
//执行添加
$sql="insert into stu(`stu_name`,`stu_sex`,`stu_age`) values('zhangsan','2','18')";
if($object->exec($sql)){
    echo '添加成功';
}
对于PDO,我们还有许多需要了解的地方,接着往下看吧

这是一个查询的代码:(大家可以看一下,这是返回了一个索引+关联的数组)

 
<?php
header('content-type:text/html;charset=utf8');
//连接数据库
$dsn="mysql:dbname=stucourse;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="root";
//生成PDO对象
$object = new PDO($dsn,$user,$password);

$sql="select * from stu";
$result = $object->query($sql);
while($arr=$result->fetch()){
    print_r($arr);
}
如果我们只想让他返回一个关联的数组呢?
<?php
header('content-type:text/html;charset=utf8');
//连接数据库
$dsn="mysql:dbname=stucourse;host=127.0.0.1";
//数据库的用户名
$user="root";
//数据库的密码
$password="root";
//生成PDO对象
$object = new PDO($dsn,$user,$password);
$sql="select * from stu";
//$result = $object->query($sql);
//while($arr=$result->fetch()){
//    print_r($arr);
//}
$object->setAttribute(PDO::ATTR_ERRMODE, PDO::CASE_UPPER);
$result = $object->query($sql);
$result->setFetchMode(PDO::FETCH_ASSOC);
$result_array = $result->fetchAll();
print_r($result_array);
setAttribte()是设置数组的属性,ATTR_ERRMODE是将关联数组设置为小写,ATTR_CASE是将关联数组设置为大写,CASE_UPPER
是强制转换。

PDO::CASE_UPPER是设置关联索引为小写,

PDO::CASE_LOWER  --  强制列名为小写

PDO::CASE_NATURAL -- 列名按照原始方式(关联数组小写形式)

    setFetchMode()方法设置获取结果集的返回值类型,同样类型还有:

PDO::FETCH_NUM -- 数字索引形式数组

PDO::FETCH_BOTH --两者数组形式都有

PDO::FETCH_OBJ -- 按照对象的形式

 
 








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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值