首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PDO::exec

(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)

PDO :: exec - 执行一条SQL语句并返回受影响的行数

描述

代码语言:javascript
复制
public int PDO::exec ( string $statement )

PDO :: exec()在单个函数调用中执行SQL语句,返回受该语句影响的行数。

PDO :: exec()不返回SELECT语句的结果。对于只需在程序期间执行一次的SELECT语句,请考虑发布PDO :: query()。对于需要多次发出的语句,请使用PDO :: prepare()准备一个PDOStatement对象,并使用PDOStatement :: execute()发出该语句。

参数

statement

在准备与执行阶段的SQL语句。

查询中的数据应正确转义。

返回值

PDO :: exec()返回您发布的SQL语句修改或删除的行数。如果没有行受到影响,PDO :: exec()返回0

警告

该函数可能返回布尔值FALSE,但也可能返回一个非布尔值,其值为FALSE。有关更多信息,请阅读布尔部分。使用===运算符来测试此函数的返回值。

以下示例错误地依赖于PDO :: exec()的返回值,其中一个影响0行的语句导致对die()的调用:

代码语言:javascript
复制
<?php
$db->exec() or die(print_r($db->errorInfo(), true)); // incorrect
?>

示例

示例#1 运用DELETE语句

计算被没有WHERE子句的DELETE语句删除的行数。

代码语言:javascript
复制
<?php
$dbh = new PDO('odbc:sample', 'db2inst1', 'ibmdb2');

/* Delete all rows from the FRUIT table */
$count = $dbh->exec("DELETE FROM fruit WHERE colour = 'red'");

/* Return number of rows that were deleted */
print("Deleted $count rows.\n");
?>

上面的例子将输出:

代码语言:javascript
复制
Deleted 1 rows.

扩展内容

  • PDO :: prepare() - 准备执行语句并返回一个语句对象
  • PDO :: query() - 执行一条SQL语句,返回一个结果集作为PDOStatement对象
  • PDOStatement :: execute() - 执行准备好的语句

← PDO::errorInfo

PDO::getAttribute →

扫码关注腾讯云开发者

领取腾讯云代金券