PDO::query
(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDO::query —
Prepares and executes an SQL statement without placeholders
Description
For a query that you need to issue multiple times, you will realize better
performance if you prepare a PDOStatement object using
PDO::prepare() and issue the statement with multiple
calls to PDOStatement::execute().
If you do not fetch all of the data in a result set before issuing your
next call to PDO::query(), your call may fail. Call
PDOStatement::closeCursor() to release the database
resources associated with the PDOStatement object before issuing your
next call to PDO::query().
Note:
If the query contains placeholders, the statement
must be prepared and executed separately using PDO::prepare() and
PDOStatement::execute() methods.
Parameters
query
-
The SQL statement to prepare and execute.
If the SQL contains placeholders, PDO::prepare() and
PDOStatement::execute() must be used instead.
Alternatively, the SQL can be prepared manually before calling
PDO::query(), with the data properly formatted using
PDO::quote() if the driver supports it.
fetchMode
-
The default fetch mode for the returned PDOStatement.
It must be one of the PDO::FETCH_* constants.
If this argument is passed to the function, the remaining arguments
will be treated as though PDOStatement::setFetchMode()
was called on the resultant statement object.
The subsequent arguments vary depending on the selected fetch mode.
Examples
Example #1 SQL with no placeholders can be executed using PDO::query()
<?php
$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";
}
?>
The above example will output:
apple red 150
banana yellow 250
kiwi brown 75
lemon yellow 25
orange orange 300
pear green 150
watermelon pink 90