PDO::exec
PDO::exec
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.1.0)
PDO :: exec - 执行一条SQL语句并返回受影响的行数
描述
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()的调用:
<?php
$db->exec() or die(print_r($db->errorInfo(), true) // incorrect
?>
示例
示例#1 运用DELETE语句
计算被没有WHERE子句的DELETE语句删除的行数。
<?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"
?>
上面的例子将输出:
Deleted 1 rows.
扩展内容
- PDO :: prepare() - 准备执行语句并返回一个语句对象
- PDO :: query() - 执行一条SQL语句,返回一个结果集作为PDOStatement对象
- PDOStatement :: execute() - 执行准备好的语句
← PDO::errorInfo
PDO::getAttribute →