fetchColumn return boolean false when a row not is found or don't had more rows.
PDOStatement->fetchColumn
(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
PDOStatement->fetchColumn — Returns a single column from the next row of a result set
Description
string PDOStatement::fetchColumn
([ int $column_number = 0
] )
Returns a single column from the next row of a result set or FALSE if there are no more rows.
Parameters
- column_number
-
0-indexed number of the column you wish to retrieve from the row. If no value is supplied, PDOStatement::fetchColumn() fetches the first column.
Return Values
PDOStatement::fetchColumn() returns a single column in the next row of a result set.
Warning
There is no way to return another column from the same row if you use PDOStatement::fetchColumn() to retrieve data.
Examples
Example #1 Return first column of the next row
<?php
$sth = $dbh->prepare("SELECT name, colour FROM fruit");
$sth->execute();
/* Fetch the first column from the next row in the result set */
print("Fetch the first column from the next row in the result set:\n");
$result = $sth->fetchColumn();
print("name = $result\n");
print("Fetch the second column from the next row in the result set:\n");
$result = $sth->fetchColumn(1);
print("colour = $result\n");
?>
The above example will output:
Fetch the first column from the next row in the result set: name = lemon Fetch the second column from the next row in the result set: colour = red
See Also
- PDO::query() - Executes an SQL statement, returning a result set as a PDOStatement object
- PDOStatement::fetch() - Fetches the next row from a result set
- PDOStatement::fetchAll() - Returns an array containing all of the result set rows
- PDO::prepare() - Prepares a statement for execution and returns a statement object
- PDOStatement::setFetchMode() - Set the default fetch mode for this statement
PhoneixSegovia at GOOGLE_MAIL_SERVER dot com ¶
2 years ago
Nathan Pohpam ¶
1 year ago
WARNING: PhoenixSegovia isn't quite correct. Perhaps it's implementation-dependent, but fetchColumn returns the empty string in my program. Beware!
seanferd at assmasterdonkeyranch dot com ¶
6 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.
