PDO::query
PDO::query
(PHP 5 >= 5.1.0, PHP 7, PECL pdo >= 0.2.0)
PDO :: query - 执行一条SQL语句,返回一个结果集作为PDOStatement对象
描述
public PDOStatement PDO::query ( string $statement )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_INTO , object $object )
PDO :: query()
在单个函数调用中执行SQL语句,并将语句返回的结果集(如果有)作为PDOStatement对象返回。
对于需要多次发出的查询,如果使用PDO :: prepare()准备PDOStatement对象,并通过对PDOStatement :: execute()的多个调用发出语句,则会实现更好的性能。
如果在发出对PDO :: query()的
下一个调用之前,您没有获取结果集中的所有数据,则您的调用可能会失败。调用PDOStatement :: closeCursor()以在发出对PDO :: query()的
下一个调用之前释放与PDOStatement对象关联的数据库资源。
注意
:尽管这个函数只被记录为具有单个参数,但您可以将其他参数传递给此函数。它们将被视为在结果语句对象上调用PDOStatement :: setFetchMode()。
参数
statement
在准备与执行阶段的SQL语句。
查询中的数据应正确转义。
返回值
PDO :: query()
返回一个PDOStatement对象,或者FALSE
失败。
示例
示例#1演示PDO ::查询
PDO :: query()的
一个很好的特性是它可以让你迭代成功执行的SELECT语句返回的行集。
<?php
function getFruit($conn) {
$sql = 'SELECT name, color, calories FROM fruit ORDER BY name';
foreach ($conn->query($sql) as $row) {
print $row['name'] . "\t";
print $row['color'] . "\t";
print $row['calories'] . "\n";
}
}
?>
上面的例子将输出:
apple red 150
banana yellow 250
kiwi brown 75
lemon yellow 25
orange orange 300
pear green 150
watermelon pink 90
扩展内容
- PDO :: exec() - 执行一条SQL语句并返回受影响的行数
- PDO :: prepare() - 准备执行语句并返回一个语句对象
- PDOStatement :: execute() - 执行准备好的语句
← PDO::prepare
PDO::quote →