当前位置:七道奇文章资讯网站建设网站编程
日期:2011-04-01 15:13:00  来源:本站整理

PHP Data Object 新的数据库衔接方法[网站编程]

赞助商链接



  本文“PHP Data Object 新的数据库衔接方法[网站编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

PHP数据对象(PDO)扩大定义了一个轻型的一致的拜候数据库的接口.每个实现了PDO接口的驱动程序像普通的扩大函数一样展示数据库相关的特点.不能用PDO函数本身履行任何数据库函数,必须利用数据库相关的驱动程序来拜候数据库服务器.


PDO供应了一个数据拜候抽象层,意思是不需求知道正在利用什么数据库,便可以用一样的函数公布查询和检索数据.
PDO绑定到了PHP5.1中,在PHP5.0中可以作为PECL扩大利用,PDO要求新的PHP5核心的面向对象的特点,在之前的版本不能运行.

下面是转的,作为入门读物了.

★数据库的衔接:
我们通过下面的例子来解析PDO衔接数据库,
<?php
$dbms='mysql'; //数据库范例 Oracle 用ODI,关于开辟者来说,利用差别的数据库,只要改这个,不用记着那么多的函数了
$host='localhost';//数据库主机名
$dbName='test'; //利用的数据库
$user='root'; //数据库衔接用户名
$pass=''; //对应的密码
$dsn="$dbms:host=$host;dbname=$dbName";
//

try{
$dbh=newPDO($dsn,$user,$pass);//初始化一个PDO对象,就是成立了数据库衔接对象$dbh
echo"衔接成功<br/>";
/*你还可以举行一次搜索操作

foreach($dbh->query('SELECT * from FOO')as$row){
print_r($row);//你可以用 echo($GLOBAL); 来看到这些值
}
*/
$dbh=null;
}catch(PDOException$e){
die("Error!: ".$e->getMessage()."<br/>");
}
//默许这个不是长衔接,假如需求数据库长衔接,需求最后加一个参数:array(PDO::ATTR_PERSISTENT => true) 变成这样:
$db=newPDO($dsn,$user,$pass,array(PDO::ATTR_PERSISTENT=>true));
?>

★数据库查询:

上面我们已经举行了一次查询,我们还可以利用以下的查询:
<?php
$db->setAttribute(PDO::ATTR_CASE,PDO::CASE_UPPER); //设置属性
$rs=$db->query("SELECT * FROM foo");
$rs->setFetchMode(PDO::FETCH_ASSOC);
$result_arr=$rs->fetchAll();
print_r($result_arr);
?>

以上因为用到setAttribute()办法,放上那两个参数,把字段名强迫转换成大写.下面列出多有PDO::setAttribute()的参数:

PDO::ATTR_CASE: 强迫列名变成一种格局,具体以下(第二个参数):

PDO::CASE_LOWER: 强迫列名是小写.

PDO::CASE_NATURAL: 列名按照原始的方法

PDO::CASE_UPPER: 强迫列名为大写.

PDO::ATTR_ERRMODE: 错误提醒.

PDO::ERRMODE_SILENT: 不显示错误信息,只显示错误码.

PDO::ERRMODE_WARNING: 显示告诫错误.

PDO::ERRMODE_EXCEPTION: 抛出非常.

PDO::ATTR_ORACLE_NULLS(不但仅是ORACLE有效,别的数据库也有效): )指定数据库返回的NULL值在php中对应的数值.

PDO::NULL_NATURAL: 不变.

PDO::NULL_EMPTY_STRING: Empty string is converted toNULL.

PDO::NULL_TO_STRING: NULL is converted to an empty string.

PDO::ATTR_STRINGIFY_FETCHES: Convert numeric values to strings when fetching. Requires bool.

PDO::ATTR_STATEMENT_CLASS: Set user-supplied statement class derived from PDOStatement. Cannot be used with persistent PDO instances. Requiresarray(string classname, array(mixed constructor_args)).

PDO::ATTR_AUTOCOMMIT(available in OCI, Firebird and MySQL): Whether to autocommit every single statement.

PDO::MYSQL_ATTR_USE_BUFFERED_QUERY(available in MySQL): Use buffered queries.

例子中的$rs->setFetchMode(PDO::FETCH_ASSOC);是PDOStatement::setFetchMode(),对返回范例的声明.
有以下:
PDO::FETCH_ASSOC-- 关联数组情势
PDO::FETCH_NUM -- 数字索引数组情势
PDO::FETCH_BOTH -- 二者数组情势都有,这是缺省的
PDO::FETCH_OBJ -- 按照对象的情势,近似于从前的 mysql_fetch_object()

更多返回范例声明(PDOStatement::办法名)看手册.


  以上是“PHP Data Object 新的数据库衔接方法[网站编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 编写PHP代码总结
  • 10个风趣的 PHP 教程
  • PHP汉字转换拼音的类
  • 来点新手PHP学习心得
  • php应用readfile函数给躲藏下载文件地址增添权限判
  • PHP小研究拿出来和大家分享
  • 10 个有意思的 PHP 教程
  • PHP常常简单记乱的知识
  • PHP入门指导:若何学习PHP?
  • PHP中文件包含语句的辨别
  • PHP浮点数显示和转成字符串
  • PHP的chm手册打不开怎么办
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .