PDOStatement::fetchColumn
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)
PDOStatement::fetchColumn — 从结果集中的下一行返回单独的一列。
说明
PDOStatement::fetchColumn(int
$column_number
= 0): string
从结果集中的下一行返回单独的一列,如果没有了,则返回 false
。
参数
-
column_number
-
你想从行里取回的列的索引数字(以0开始的索引)。如果没有提供值,则 PDOStatement::fetchColumn() 获取第一列。
返回值
PDOStatement::fetchColumn() 从结果集中的下一行返回单独的一列。
警告
如果使用 PDOStatement::fetchColumn() 取回数据,则没有办法返回同一行的另外一列。
范例
示例 #1 返回下一行的第一列
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* 从结果集中的下一行获取第一列 */
print("从结果集中的下一行获取第一列:\n");
$result = $sth->fetchColumn();
print("name = $result\n");
print("从结果集中的下一行获取第二列:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>
以上例程会输出:
从结果集中的下一行获取第一列: name = lemon 从结果集中的下一行获取第二列: colour = red
参见
- PDO::query() - 执行 SQL 语句,以 PDOStatement 对象形式返回结果集
- PDOStatement::fetch() - 从结果集中获取下一行
- PDOStatement::fetchAll() - 返回一个包含结果集中所有行的数组
- PDO::prepare() - 准备要执行的语句,并返回语句对象
- PDOStatement::setFetchMode() - 为语句设置默认的获取模式。

User Contributed Notes 2 notes
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com ¶
11 years ago
fetchColumn return boolean false when a row not is found or don't had more rows.
seanferd at assmasterdonkeyranch dot com ¶
15 years ago
This is an excellent method for returning a column count. For example:
<?php
$db = new PDO('mysql:host=localhost;dbname=pictures','user','password');
$pics = $db->query('SELECT COUNT(id) FROM pics');
$this->totalpics = $pics->fetchColumn();
$db = null;
?>
In my case $pics->fetchColumn() returns 641 because that is how many pictures I have in my db.
备份地址:http://www.lvesu.com/blog/php/pdostatement.fetchcolumn.php