PDO::query

(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

publicPDO::query(string$query, ?int$fetchMode = null): PDOStatement|false
publicPDO::query(string$query, ?int$fetchMode = PDO::FETCH_COLUMN, int$colno): PDOStatement|false
publicPDO::query(
    string$query,
    ?int$fetchMode = PDO::FETCH_CLASS,
    string$classname,
    array$constructorArgs
): PDOStatement|false
publicPDO::query(string$query, ?int$fetchMode = PDO::FETCH_INTO, object$object): PDOStatement|false

PDO::query() prépare et exécute une requête SQL en un seul appel de fonction, retournant la requête en tant qu'objet PDOStatement.

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

To Top