php– 如何在PDO中获取查询语句的类型?

php– 如何在PDO中获取查询语句的类型?,第1张

概述在MySQL Reference Manual中,数据定义语句和数据 *** 作语句之间存在区别.现在我想知道查询是插入数据库记录,更新一个,删除一个还是修改表结构等,或者更准确地说,是受影响行的确切数量,但前提是它是否适用.例如,声明SELECT * FROM SomeTable WHERE id=1 OR id=2 返回一些受影响的行(在本例中为2),但是使用S

在MySQL Reference Manual中,数据定义语句和数据 *** 作语句之间存在区别.

现在我想知道查询是插入数据库记录,更新一个,删除一个还是修改表结构等,或者更准确地说,是受影响行的确切数量,但前提是它是否适用.

例如,声明

SELECT *FROM SometableWHERE ID=1 OR ID=2

返回一些受影响的行(在本例中为2),但是使用SELECT语句,数据库中没有任何修改,因此该数字将为0.

如何获得查询类型

最佳答案我正在寻找相同的答案,偶然发现了this article.它最后一次更新是在八月份.在其中,有一节:“确定声明的类型”您基本上可以做出以下假设:(从文章中复制)

>如果columnCount()为零,则该语句不会生成结果集.相反,它修改了行,您可以调用rowCount()来确定受影响的行数.
>如果columnCount()大于零,则语句生成结果集,您可以获取行.要确定有多少行,请在获取它们时对它们进行计数.

我将为您省去麻烦,只需在此处粘贴代码示例即可

$sth = $dbh->prepare ($stmt);$sth->execute ();if ($sth->columnCount () == 0){    # there is no result set,so the statement modifIEs rows     printf ("Number of rows affected: %d\n",$sth->rowCount ());}else{    # there is a result set    printf ("Number of columns in result set: %d\n",$sth->columnCount ());    $count = 0;    while ($row = $sth->fetch (PDO::FETCH_NUM))    {    # display column values separated by commas       print (join (",",$row) . "\n");       $count++;    }}
总结

以上是内存溢出为你收集整理的php – 如何在PDO中获取查询语句的类型?全部内容,希望文章能够帮你解决php – 如何在PDO中获取查询语句的类型?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/1168110.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存