本文
详细分析了PHP PDO的使用
方法,
分享给大家仅供
参考。具体分析如下:
PDO::exec:返回int
类型,表示
影响结果的项目数。
复制代码如下:::PDOStatement
执行 返回是布尔类型,true表示执行成功,false表示执行失败,而这两个通常出现在以下代码中:
复制代码如下:$ RS0来=美元-> exec(PDO $sql);
预美元美元PDO ->准备($ SQL);
美元美元RS1 =预>执行();
总的来说,RS0来美元的值可以用来确定是否是成功执行的SQL。如果其值为false,则表示SQL执行失败,0表示没有更改。大于0的值表示有多少记录受到影响。
但为RS1只能回到SQL执行成功,如果记录数需要影响需要使用$预>行数();
我个人喜欢使用MySQL,所以我有这两条线在我的extensions.ini。
复制代码代码如下:推广= pdo.so
pdo_mysql.so延伸=
在
程序中,代码如下所示:
复制代码代码如下:('db_name定义,测试);
定义('db_user '测试');
定义('db_passwd '测试');
定义('db_host ','localhost);
定义('db_type ','mysql);
$胸径=新PDO(db_type。:主机= '。db_host';北京。db_name,db_user,db_passwd);
在本文中使用常数
设置是我个人的习惯。你不必像我一样陷入困境。当
操作以上,胸径本身代表着美元PDO
连接,我们如何使用PDO
第一,懒惰的
查询,没有什么考虑,像通常使用的查询
函数,代码如下:
复制代码代码如下:$ SQL = 'select *测试;
foreach($胸径->查询($ SQL)作为美元的价值)
{
回声值{ } };
};
第二种方法是自动引入准备。在我个人使用PDO,我喜欢用准备
功能进行准备。优点是我可以先编写SQL代码,然后在以后自动地提供我们需要的信息。
我认为最大的优点是它可以减少许多安全问题,而不是直接使用查询。首先,我们使用准备设置SQL代码和使用bindparm做动作。
复制代码代码如下:某物美元美元胸径->准备(更新数据库设置zh_cn =:STR在Sn =:SN);
为某事-> bindparam(':':STR,$str,PDO::param_str,12);
为某事-> bindparam(':Sn,Sn美元);
执行();
请注意:当我们使用STR和锡bindparam的功能,我们可以使用Word指定
系统需要应用的部分,如我们用:STR和Sn的指定,和实际的内容bindparam,并指定要
输入的类型。
首先,让我们看看:乙方名称:STR,因为我
确认数据是
文本,所以我们使用PD::param_str告诉程序,它是字符串,并给一个范围,即长度为12位。
我们也可以不那么复杂,如锡,但也bindparam是指定的,但我们省略类型和长度。PHP将应用此变量的预置
模式。
最后,它基本上是使用某个操作的操作——执行();它基本上不难,甚至说起来也不简单。
如果你有很多需要重复的数据,你可以使用你的bindparam指定,例如,我:STR和锡:如果我有十个数据,我可以将它添加到数据库中直接。
复制代码如下:为某事胸径->准备('insert美元到DB(zh_cn
foreach($array =价值)
{
为某事-> bindparam(':':STR,美元的价值,{ STR },PDO::param_str,12);
为某事-> bindparam(':Sn,Sn美元价值{ });
执行();
}
甚至像我的朋友这样的强大的朋友,也会在
文件后面编写所有可能的SQL文件。后来,SQL过程的一部分充分利用了变量。不管怎样,这些数据可以很好地应用。
然后,如果使用准备方式来选择,关键字当然可以用作以上的方式:Word指定以下内容:
复制代码代码如下:某物美元美元胸径->准备('select * DB在Sn =:SN);
为某事-> bindparam(':Sn,Sn美元价值{ });
执行();
而($元= $某物->取(PDO::fetch_assoc))
{
元};
}
所以新的外观取,类似于mysql_fetch_row(),但在取()我们找到一个PDO::fetch_assoc。
取()提供了大量的访问数据,和PDO::fetch_assoc指
名字与下一数据列的值。
例如,上面的例子中,使用$元拿回来的信息,那么$元元素名称数据库中的列名,当然内容本身的价值与你mysql_fetch_row()是不一样的,因为除了列名(mysql_fetch_row),也按照除了给一个外部的基础元素序号光滑的元素名称列中,它不是PDO
当然,只是改变fetch_assoc PDO PDO::::fetch_both,没什么两样mysql_fetch_row()。
如何犯错
错误消除是所有程序员中间的一个永恒的痛苦。我们如何使用PDO摆脱错误吗
事实上,PDO提供了非常方便的功能ErrorInfo两()和()返回的错误码
世界上的用法也很简单。每当我们使用执行()来执行,如果有错误,那将是内容()和误码ErrorInfo()。我们可以做到这一点。
复制代码代码如下:某物美元美元胸径->准备('select * DB在Sn =:SN);
为某事-> bindparam(':Sn,Sn美元价值{ });
执行();
如果(为某事-> errorcode())
{
有一个错误!有一个错误!;
print_r(为某事-> ErrorInfo());
}
为某事-> ErrorInfo()将一个数组,它有三个值:
0是SQLSTATE错误代码
1您所使用的
驱动程序返回的错误代码
2返回给您使用的驱动程序的错误
消息 希望本文能对大家的PHP程序设计有所帮助。