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

PDO::query

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

PDO :: query - 执行一条SQL语句,返回一个结果集作为PDOStatement对象

描述

代码语言:javascript
复制
public PDOStatement PDO::query ( string $statement )
代码语言:javascript
复制
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_COLUMN , int $colno )
代码语言:javascript
复制
public PDOStatement PDO::query ( string $statement , int $PDO::FETCH_CLASS , string $classname , array $ctorargs )
代码语言:javascript
复制
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语句返回的行集。

代码语言:javascript
复制
<?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";
????}
}
?>

上面的例子将输出:

代码语言:javascript
复制
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 →

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com