在MySQL参考手册中,数据定义语句和数据操作语句之间存在区别.
现在我想知道查询是插入数据库记录,更新一个,删除一个还是修改表结构等,或者更准确地说,是受影响行的确切数量,但前提是它是否适用.
例如,声明
SELECT *
FROM SomeTable
WHERE id=1 OR id=2
Run Code Online (Sandbox Code Playgroud)
返回一些受影响的行(在本例中为2),但是使用该SELECT语句,数据库中没有任何修改,因此该数字将为0.
如何获得查询类型?
我正在寻找相同的答案,偶然发现了 这篇文章.它最后一次更新是在八月份.在其中,有一节:"确定声明的类型"您基本上可以做出以下假设:(从文章中复制)
我将为您省去麻烦,只需在此处粘贴代码示例即可
$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++;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1517 次 |
| 最近记录: |