PDO是PHP 5,PHP 5的主要
功能之一,因为在以往的PHP4 / PHP3是一堆数据库,php_mysql.dll,php_pgsql.dll,php_mssql.dll各种数据库的
连接和延伸,是php_sqlite.dll
扩展连接MySQL,PostgreSQL,MS SQL
服务器SQLite,也必须使用ADODB梨::::数据库DB,phplib抽象类像DB来帮助我们,非常繁琐和低效的,毕竟,我们如何将PHP代码的C / C++直接写高斜率效率所以,PDO的出现是必然的,每个人都需要一个平静的
学习态度来用的,也许你会
发现,你可以减少很多你的
工作。
安装PDO
我在Windows XP SP2的顶部,所以整个过程
都是在Windows行中完成的。对于Linux或FreeBSD和其他平台,请
搜索并安装自己的数据集。
我的PHP 5.1.4,和我有php_pdo.dll的延伸,但它需要
设置一点用。
打开C: Windows 的,那是我的PHP
配置文件,找到下面这行:
extension_dir
在这个
目录中我们扩展的存在,和我的PHP 5的延伸是:C: PHP5 分机,然后我改变这一行:
复制代码代码如下所示:
extension_dir =C: / / PHP5 Ext
然后发现它在php.ini:
复制代码代码如下所示:
动态扩展;
这里的一堆东西,像php_mbstring.dll延伸=。这里是PHP扩展加载配置。We add the extension of our PDO later.
php_pdo.dll延伸=
php_pdo_mysql.dll延伸=
php_pdo_pgsql.dll延伸=
php_pdo_sqlite.dll延伸=
php_pdo_mssql.dll延伸=
php_pdo_odbc.dll延伸=
php_pdo_firebird.dll延伸=
php_pdo_oci8.dll延伸=
各种各样的PDO驱动可以加入他们,但在php_pdo_oci8.dll不是由Oracle数据库的安装,所以我用分号来诠释它,然后重新
启动Web服务器,IIS或Apache,IIS我,嘿嘿,看我,在窗户上,简单。
重新启动后,写在我们的Web服务器的
文档目录一phpinfo.php文件,并添加这些:
复制代码代码如下所示:
<
Phpinfo();
>
在输出的内容中,如果您能顺利地看到它:
PDO
PDO
支持 PDO驱动MySQL,SQLite,pgsql,MSSQL,ODBC,火鸟
有各种各样的司机后面的说明:pdo_firebird,pdo_mssql,pdo_mysql,pdo_odbc,pdo_pgsql,pdo_sqlite.well,在你安装成功的祝贺,否则请
检查上面的
步骤仔细。
PDO的
教程 我4.0.26使用MySQL,但我个人
推荐你使用MySQL 4.1。x或MySQL 5。X,因为那些版本有许多有趣的东西要学。PDO,我们需要连接这是我的MySQL 4,如果你没有安装MySQL,请安装它自己。我们设置MySQL和测试库添加表foo,包括四个字段,如ID、姓名、性别、时间等。
我们开始建立第一个PDO的应用和Web文档目录设置pdo.php文件:
复制代码代码如下所示:
< PHP
DSN =MySQL:美元=
本地主机;北京试验;
$ db =新PDO($ DSN,'root ',');
$count = $数据库-> exec(插入符集名称= 'heiyeluren,性别为男性,时间=现在());
回波计数;
$ = null;
>
DSN =MySQL:美元=本地主机;北京试验;
这是我们建立DSN(数据源)看到它包含的信息:数据库是MySQL,主机
地址为本地主机,和数据库的
名字是测试,所以只是一些信息。不同数据库的数据源结构是不同的。
$ db =新PDO($ DSN,'root ',');
一个PDO对象初始化。构造
函数的第一个
参数是我们的数据源。第二个是连接到数据库服务器的
用户。第三个参数是
密码。我们不能保证连接的成功,我们将讨论这个异常。在这里,我们认为它是一个成功的连接。
$count = $数据库-> exec(插入符集名称= 'heiyeluren,性别为男性,时间=现在());
回波计数;
叫PDO对象,我们将成功地
执行一个
查询,这是一个
操作,插入一条记录。使用PDO::exec()
方法将返回一个结果
影响的记录,所以我们出口的结果。最后,我们需要终结的对象资源:
$ = null;
这不是默认的连接,如果数据库连接的需要,最后添加一个参数:数组(PDO::attr_persistent = >真)到它:
DB =新美元($ DSN,'root,PDO,阵列(PDO::attr_persistent = >真));
一个操作是如此简单,它不可能是从以前的有很大的不同,它有点类似于数据。
PDO高级课程
如果我们想提取数据,那么我们应该使用数据采集功能。
复制代码代码如下所示:
< PHP
foreach($数据库->查询(SELECT * FROM Foo)){
print_r(合排);
}
>
我们也可以用这种方式获取:
复制代码代码如下所示:
< PHP
从;
当($行)
print_r(合排);
}
>
如果你想一次获取数组中的所有数据,你可以这样做:
复制代码代码如下所示:
< PHP
从;
result_arr美元=美元-> fetchall(RS);
print_r($ result_arr);
>
输出结果如下:
复制代码代码如下所示:
阵列
({ 0 } =数组)
{ 1
{ 0 } = 1
{姓名} = > heiyeluren
{ 1 } = > heiyeluren
{性别>男性
{ 2 } >男性
{时间} = > 2006-10-28 23:14:23
{ 3 } = > 2006-10-28 23:14:23
)
}
我们查看内部记录、数字索引和相关索引,这是对资源的浪费,我们只需要将索引
关联起来:
复制代码代码如下所示:
< PHP
为数据库-> setAttribute(PDO::::attr_case,PDO case_upper);
从;
为RS - > setfetchmode(PDO::fetch_assoc);
result_arr美元=美元-> fetchall(RS);
Print_r ($result_arr);
>
看到上面的代码(attribute)方法就是设置一些
属性,主要属性有::::attr_errmode attr_case PDO,PDO:等等,我们需要在这里设置是PDO::attr_case,当我们使用关联指标数据采集,相关指数是大写或小写,有几个
选项:
PDO::case_lower --强制性的列名称是小写
PDO::case_natural --栏目的名称是在原有的方式
PDO::case_upper --强制列名的首都
我们用setfetchmode法建立结果集的返回值的
类型,和同类型。
PDO:: FETCH_ASSOC -- the form of associative array
PDO::fetch_num --数字索引数组的形式
PDO::fetch_both --都是数组的形式,这是一个
默认的
PDO::--在对象的形式fetch_obj,类似以前的mysql_fetch_object()
在一般的课程,我们使用PDO::fetch_assoc,使用什么,按照自己的需要,和其他类型的
参考手册。
除了这种获取数据的方式之外,还有这个:
复制代码代码如下所示:
< PHP
$ = DB>准备();
执行();
当($行)
print_r(合排);
}
>
这是一样的。如果你想在指定的记录得到一个领域的结果,你可以使用fetchcolumn PDOStatement::():
复制代码代码如下所示:
< PHP
查询(从选择计数(*));
Col =美元美元-> fetchcolumn(RS);
回声$;
>
fetchcolumn()通常是用来做统计或记录,只需要单个字段操作。
一个简单的总结
查询操作主要是PDO::查询(),PDO::exec(),::准备(PDO)。PDO::查询()主要用于记录返回结果的操作,特别是选择操作。PDO::exec()主要是为操作没有结果集,如插入,更新,
删除等操作,其结果是由当前操作影响的列数。PDO::准备()是主要的预
处理操作。在预处理过程中执行SQL语句需要$。该方法可以绑定参数,具有强大的功能。这不是一个简单的文章的理解,你可以参考手册和其他文件。得到的结果集的操作主要是:::fetchcolumn PDOStatement(),(),取PDOStatement::::fetchall PDOStatement()。PDOStatement::fetchcolumn()是一个领域,得到的结果指定结果的第一个记录,和默认的是第一场。PDOStatement::取()是用来记录,PDOStatement::fetchall()是把所有的记录之一,并通过PDOStatement得到结果::setfetchmode设置结果集的类型。
有两个其他周边业务,一个是PDO::()和lastinsertid PDOStatement::行数()。PDO::lastinsertid()是最后的插入操作,和主键列式是最后的自增id.pdostatement::行数()主要用于PDO::查询()和PDO::准备()的删除、插入和更新操作,结果集无效:exec()方法:PDO和操作。
从上面,我们可以看到,PDO功能真是强大。还有其他我没有提到的内容,如结合参数、预处理、存储过程、事务处理等。此外,还有不同的数据结构来扩大DSN。oracle数据库有许多特殊的东西需要深入学习和理解。本文简单
介绍了一些入门知识,这是一个简单的了解PDO。