PDO方法怎么在php项目中使用

介绍

本篇文章为大家展示了PDO方法怎么在php项目中使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

具体分析如下:

PDO: exec:返回的是int类型,表示影响结果的条数。

代码如下:

PDOStatement:执行

返回的是布尔型,真表示执行成功,假表示执行失败,这两个通常出现在如下代码:

代码如下:

rs0=pdo→美元exec ($ sql);
=以前pdo→美元准备($ sql);
rs1=美元前→执行();

一般情况下可以用美元rs0的值判断sql执行成功与否,如果其值为假表示sql执行失败,0表示没有任何更改,大于0的值表示影响了多少条记录。

但是美元rs1只能返回sql执行成功与否,如果需要获取影响的记录数需要使用美元前→rowCount ();

我个人喜欢使用MySQL,所以我的扩展。ini中有这二行。

代码如下:

扩展=pdo.so
=pdo_mysql延伸。所以

接著在程式中,代码如下:

代码如下:

定义(& # 39;DB_NAME& # 39; & # 39;测试# 39;);
定义(& # 39;DB_USER& # 39;, & # 39;测试# 39;);
定义(& # 39;DB_PASSWD& # 39;, & # 39;测试# 39;);
定义(& # 39;DB_HOST& # 39;, & # 39; localhost # 39;);
定义(& # 39;DB_TYPE& # 39;, & # 39; mysql # 39;);
$ dbh=new PDO (DB_TYPE # 39;公司:主机=& # 39;.DB_HOST强生# 39;;dbname=& # 39;。DB_NAME、DB_USER DB_PASSWD);


文中的使用常数设定是我个人的习惯,各位不用像我这么麻烦,当像上面的操作,$ dbh本身就是代表了PDO的连线了,那要怎样使用PDO呢?

<强>第一种,懒人法查询,什么都不用想,像平常一样的使用查询的函式,代码如下:

代码如下:

$ sql=& # 39;从测试选择* # 39;;
foreach ($ dbh→查询(sql)美元美元值)
{
,,,echo $值(col);
};


<强>第二种,自动带入法准备,我个人使用PDO后,偏好利用准备的函式来进行作动准备的好处是可以先写好SQL码,并且在稍后自动带入我们要的资料。

这个我想最大的好处是比起直接利用查询可以减少许多安全性的问题,首先,我们利用准备进行SQL码的设定,在利用bindparm来进行设定的动作,代码如下:

代码如下:

$ sth=$ dbh→准备(& # 39;更新数据库设置zh_CN=: str SN=: SN # 39;);
$ sth→bindParam (& # 39;: str # 39;, str美元,PDO:: PARAM_STR, 12);
$ sth→bindParam (& # 39;: SN # 39; SN美元);
$ sth→执行();


请注意文中的:str及:SN,当我们利用bindParam的函式,可以利用:词来指定系统需要套用的部份,像是我们利用:str及:SN来指定,而实际的内容,就靠bindParam还可以指定我们要输入的型态。

首先我们先看:str的指定,:str由於我确定资料是属於文字,因此利用PD:: PARAM_STR来告诉程式”这个是字串哟”,并且给一个范围,也就是长度是12个位元。

我们也可以不要那么复杂,像:SN,虽然也是用bindParam来指定,但是我们省略了型态及长度,PHP会用该变数预设的型态来套用。

最后呢,就是利用$ sth→执行();来进行执行的动作,基本上不难,甚至可以说很简单呢。

如果你有大量需要重复套用的资料,你就可以拼了命的重新利用bindParam来指定,比如我的:str及:SN如果有十笔资料,我也可以这样子直接新增到资料库,代码如下:

代码如下:

$ sth=$ dbh→准备(& # 39;插入数据库(“zh_CN",“zh_TW")值(str,: SN # 39;);
foreach(数组美元=比;美元值)
{
, $ sth→bindParam (& # 39;: str # 39;,美元价值(str), PDO:: PARAM_STR, 12);
, $ sth→bindParam (& # 39;: SN # 39;,美元价值(SN));
, $ sth→执行();
}


甚至强者如我朋友,把所有可能的SQL全写在一个档案后面,后来的过程SQL的部份就变成全用变数带进去了,反正资料可以用现成的方式套用嘛。

那,如果利用准备的方式来选择,关键字当然也可以像上面的方式利用:词来指定,代码如下:

代码如下:

$ sth=$ dbh→准备(& # 39;选择*从db SN=: SN # 39;);
$ sth→bindParam (& # 39;: SN # 39;,美元价值(SN));
$ sth→执行();
,($元=$ sth→获取(PDO:: FETCH_ASSOC))
{
, echo $元(“name");
}


这样新出现的是取回,跟mysql_fetch_row()的意思差不多,但是在fetch()中我们发现多了一个PDO:: FETCH_ASSOC这个东西。

fetch()提供了许多获取资料的方式,而PDO: FETCH_ASSOC指的就是传回下一笔资料的栏位名及值啦

比如上例,利用美元元来取得获取传回的资料,此时美元元的元素名称就是资料库的栏位名称,而内容当然就是值本身这个跟你利用mysql_fetch_row()时不一样,因为除了栏位名称,mysql_fetch_row()还会依照顺利将元素名称除了栏位外在多给予一个以序号的方式为基础的元素,那难道PDO没有吗?

PDO方法怎么在php项目中使用