(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.2.0)
PDO::query —
Prépare et Exécute une requête SQL sans marque substitutive
Description
public
PDO::query(string
$query, ?int
$fetchMode =
null): PDOStatement|false
public
PDO::query(string
$query, ?int
$fetchMode = PDO::FETCH_COLUMN, int
$colno): PDOStatement|false
public
PDO::query(
string
$query,
?int
$fetchMode = PDO::FETCH_CLASS,
string
$classname,
array
$constructorArgs): PDOStatement|false
public
PDO::query(string
$query, ?int
$fetchMode = PDO::FETCH_INTO, object
$object): PDOStatement|false
Pour une requête que vous devez exécuter plusieurs fois, vous réaliserez
de meilleures performances si vous préparez l'objet PDOStatement en utilisant
la fonction PDO::prepare() et exécutez la requête
via plusieurs appels à la fonction PDOStatement::execute().
Si vous ne récupérez pas toutes les données du jeu de résultats avant d'exécuter
le prochain appel à PDO::query(), votre appel peut échouer.
Appeler pdostatement::closeCursor() pour libérer les
ressources de la base de données associées à l'objet PDOStatement avant d'exécuter
votre prochain appel à la fonction PDO::query().
Note:
Si query contient des marqueurs de substitution,
la requête doit être préparé et exécuté séparément en utilisant les
méthodes PDO::prepare() et PDOStatement::execute().
Liste de paramètres
-
query
-
La requête SQL à préparer et à exécuter.
Si le SQL contient des marqueurs de substitution, PDO::prepare() et
PDOStatement::execute() doivent être utilisé à la place.
Alternativement, le SQL peut être préparé manuellement avant d'appeler
PDO::query(), avec les données proprement formaté
utilisant pdo::quote() si le pilote le supporte.
-
fetchMode
-
Le mode de récupération par défaut pour le
PDOStatement retourné.
Ceci doit être une des constantes
PDO::FETCH_*.
Si cet argument est passé à la fonction, le reste des arguments seront
traité comme si pdostatement::setFetchMode()
a été appelé sur l'objet de la requête résultante.
Les arguments suivant dépendent en fonction du mode de récupération
sélectionné.
Valeurs de retour
Retourne un object PDOStatement ou false si une erreur survient.
Erreurs / Exceptions
Émet une erreur de niveau E_WARNING si l'attribut PDO::ATTR_ERRMODE est défini
à PDO::ERRMODE_WARNING.
Lève une exception PDOException si l'attribut PDO::ATTR_ERRMODE est défini
à PDO::ERRMODE_EXCEPTION.
Exemples
Exemple #1 SQL sans marqueurs de substitution peut être exécuté utilisant 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";
}
?>
L'exemple ci-dessus va afficher :
apple red 150
banana yellow 250
kiwi brown 75
lemon yellow 25
orange orange 300
pear green 150
watermelon pink 90
Voir aussi
- PDO::exec() - Exécute une requête SQL et retourne le nombre de lignes affectées
- PDO::prepare() - Prépare une requête à l'exécution et retourne un objet
- PDOStatement::execute() - Exécute une requête préparée