Constantes pré-définies

Sommaire

Ces constantes sont définies par cette extension, et ne sont disponibles que si cette extension a été compilée avec PHP, ou bien chargée au moment de l'exécution.

Curseur

Voir aussi PDO::ATTR_CURSOR_NAME.

PDO::FETCH_ORI_NEXT (int)
Récupère la ligne suivante dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::FETCH_ORI_PRIOR (int)
Récupère la ligne précédente dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::FETCH_ORI_FIRST (int)
Récupère la première ligne dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::FETCH_ORI_LAST (int)
Récupère la dernière ligne dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::FETCH_ORI_ABS (int)
Récupère la ligne demandée par numéro de ligne dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::FETCH_ORI_REL (int)
Récupère la ligne demandée par position relative par rapport à la position actuelle du curseur dans le jeu de résultats. Valide uniquement pour les curseurs défilables.
PDO::CURSOR_FWDONLY (int)
Crée un objet PDOStatement avec un curseur à sens unique. C'est le choix de curseur par défaut, car c'est le modèle d'accès aux données le plus rapide et le plus courant en PHP.
PDO::CURSOR_SCROLL (int)
Crée un objet PDOStatement avec un curseur défilable. Passez les constantes PDO::FETCH_ORI_* pour contrôler les lignes récupérées du jeu de résultats.

Autre constante

PDO::PARAM_BOOL (int)
Représente un type de données booléen.
PDO::PARAM_NULL (int)
Représente le type de données SQL NULL.
PDO::PARAM_INT (int)
Représente le type de données SQL INTEGER.
PDO::PARAM_STR (int)
Représente le type de données SQL CHAR, VARCHAR ou tout autre type de données de chaîne de caractères.
PDO::PARAM_STR_NATL (int)
Drapeau pour indiquer qu'une chaîne utilise le jeu de caractères national. Disponible depuis PHP 7.2.0
PDO::PARAM_STR_CHAR (int)
Drapeau pour indiquer qu'une chaîne utilise le jeu de caractères régulier. Disponible depuis PHP 7.2.0
PDO::PARAM_LOB (int)
Représente le type de données SQL large object.
PDO::PARAM_STMT (int)
Représente un type de jeu d'enregistrements (recordset). Actuellement, aucun pilote ne prend en charge ce type.
PDO::PARAM_INPUT_OUTPUT (int)
Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez effectuer un OU bit à bit avec cette valeur et un type de données explicite PDO::PARAM_*.
PDO::ATTR_AUTOCOMMIT (int)
Si cette valeur est false, PDO tente de désactiver l'autocommit afin que la connexion commence une transaction.
PDO::ATTR_PREFETCH (int)
Définir la taille de prélecture permet de trouver un équilibre entre la vitesse et l'utilisation de la mémoire pour votre application. Toutes les combinaisons de bases de données/pilotes ne prennent pas en charge la définition de la taille de prélecture. Une taille de prélecture plus grande entraîne une augmentation des performances au prix d'une utilisation de la mémoire plus élevée.
PDO::ATTR_TIMEOUT (int)
Définit la valeur du délai d'attente en secondes pour les communications avec la base de données.
PDO::ATTR_ERRMODE (int)
Voir la section sur les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ATTR_SERVER_VERSION (int)
Cette valeur est en lecture seule ; elle renverra des informations sur la version du serveur de base de données auquel PDO est connecté.
PDO::ATTR_CLIENT_VERSION (int)
Cette valeur est en lecture seule ; elle renverra des informations sur la version des bibliothèques clientes utilisées par le pilote PDO.
PDO::ATTR_SERVER_INFO (int)
Cette valeur est en lecture seule ; elle renverra des informations sur la version du serveur de base de données auquel PDO est connecté.
PDO::ATTR_CONNECTION_STATUS (int)
PDO::ATTR_CASE (int)
Force les noms de colonnes à une casse spécifique, comme spécifié par les constantes PDO::CASE_*.
PDO::ATTR_CURSOR_NAME (int)
Obtenir ou définir le nom à utiliser pour un curseur. Le plus utile lors de l'utilisation de curseurs défilables et de mises à jour positionnées.
PDO::ATTR_CURSOR (int)
Sélectionne le type de curseur. PDO prend actuellement en charge soit PDO::CURSOR_FWDONLY soit PDO::CURSOR_SCROLL. Restez avec PDO::CURSOR_FWDONLY à moins que vous ne sachiez que vous avez besoin d'un curseur défilable.
PDO::ATTR_DRIVER_NAME (int)
Renvoie le nom du pilote.

Exemple #1 Utilisation PDO::ATTR_DRIVER_NAME

<?php
if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
echo
"Running on mysql; doing something mysql specific here\n";
}
?>

PDO::ATTR_ORACLE_NULLS (int)
Convertit les chaînes vides en valeurs NULL SQL lors des récupérations de données.
PDO::ATTR_PERSISTENT (int)
Demande une connexion persistante, plutôt que de créer une nouvelle connexion. Voir connections et gestion des connexions pour plus d'informations sur cet attribut.
PDO::ATTR_STATEMENT_CLASS (int)
Définit le nom de la classe des déclarations retournées.
PDO::ATTR_FETCH_CATALOG_NAMES (int)
Ajoute le nom du catalogue contenant chaque nom de colonne renvoyé dans le jeu de résultats. Le nom du catalogue et le nom de la colonne sont séparés par un caractère décimal (.). La prise en charge de cet attribut se fait au niveau du pilote ; il peut ne pas être pris en charge par votre pilote.
PDO::ATTR_FETCH_TABLE_NAMES (int)
Ajoute le nom de la table contenant chaque nom de colonne renvoyé dans le jeu de résultats. Le nom de la table et le nom de la colonne sont séparés par un caractère décimal (.). La prise en charge de cet attribut se fait au niveau du pilote ; il peut ne pas être pris en charge par votre pilote.
PDO::ATTR_STRINGIFY_FETCHES (int)
Force tous les valeurs récupérées (sauf null) à être traitées comme des chaînes. Les valeurs null restent inchangées à moins que PDO::ATTR_ORACLE_NULLS ne soit défini sur PDO::NULL_TO_STRING.
PDO::ATTR_MAX_COLUMN_LEN (int)
Définit la longueur maximale des noms de colonnes.
PDO::ATTR_DEFAULT_FETCH_MODE (int)
PDO::ATTR_EMULATE_PREPARES (int)
PDO::ATTR_DEFAULT_STR_PARAM (int)
Définit le type de paramètre de chaîne par défaut, cela peut être l'un de PDO::PARAM_STR_NATL et PDO::PARAM_STR_CHAR. Disponible depuis PHP 7.2.0.
PDO::ERRMODE_SILENT (int)
Ne pas lever d'erreur ou d'exception si une erreur se produit. Le développeur est censé vérifier explicitement les erreurs. C'est le mode par défaut. Voir erreur et gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ERRMODE_WARNING (int)
Émet un message PHP E_WARNING si une erreur se produit. Voir erreur et gestion des erreurs pour plus d'informations sur cet attribut.
PDO::ERRMODE_EXCEPTION (int)
Lève une PDOException si une erreur se produit. Voir erreur et gestion des erreurs pour plus d'informations sur cet attribut.
PDO::CASE_NATURAL (int)
Laisser les noms de colonnes tels que retournés par le pilote de base de données.
PDO::CASE_LOWER (int)
Force les noms de colonnes à être en minuscules.
PDO::CASE_UPPER (int)
Force les noms de colonnes à être en majuscules.
PDO::NULL_NATURAL (int)
PDO::NULL_EMPTY_STRING (int)
PDO::NULL_TO_STRING (int)
PDO::ERR_NONE (string)
Correspond à SQLSTATE '00000', ce qui signifie que l'instruction SQL a été émise avec succès sans erreurs ni avertissements. Cette constante est pour votre commodité lors de la vérification de PDO::errorCode() ou PDOStatement::errorCode() pour déterminer si une erreur s'est produite. Vous saurez généralement si c'est le cas en examinant le code de retour de la méthode qui a déclenché la condition d'erreur de toute façon.
PDO::PARAM_EVT_ALLOC (int)
Événement d'allocation.
PDO::PARAM_EVT_FREE (int)
Événement de désallocation.
PDO::PARAM_EVT_EXEC_PRE (int)
Événement déclenché avant l'exécution d'une instruction préparée.
PDO::PARAM_EVT_EXEC_POST (int)
Événement déclenché après l'exécution d'une instruction préparée.
PDO::PARAM_EVT_FETCH_PRE (int)
Événement déclenché avant la récupération d'un résultat d'un ensemble de résultats.
PDO::PARAM_EVT_FETCH_POST (int)
Événement déclenché après la récupération d'un résultat d'un ensemble de résultats.
PDO::PARAM_EVT_NORMALIZE (int)
Événement déclenché lors de l'enregistrement d'un paramètre lié permettant au pilote de normaliser le nom du paramètre.
PDO::SQLITE_DETERMINISTIC (int)
Spécifie qu'une fonction créée avec PDO::sqliteCreateFunction() est déterministe, c'est-à-dire qu'elle renvoie toujours le même résultat donné les mêmes entrées dans une seule instruction SQL. (Disponible depuis PHP 7.1.4.)
add a note

User Contributed Notes 6 notes

up
21
sam at xnet dot tk
12 years ago
It should be noted that PDO::FETCH_CLASS will call the constructor *after* setting the values (or calling __set).
up
6
kevin at kevinlocke dot name
6 years ago
PDO::PARAM_STR_CHAR and PDO::PARAM_STR_NATL must be combined with PDO::PARAM_STR using bitwise-OR for parameter binding.These flags control value quoting (e.g. PDO::quote) and, in some situations (see below), parameter binding  (e.g. PDO::bindParam, PDO::bindValue) to prefix string literals with N'' as defined in SQL-92.  As of PHP 7.3, only dblib and mysql support these flags.  For the mysql driver, the flags only affect parameter binding when PDO::ATTR_EMULATE_PREPARES is true (the default).MySQL and MariaDB interpret string literals prefixed with N as being utf8 (not utf8mb4) regardless of `SET NAMES` or the charset parameter.  This can cause problems if the database/table/column charset is not utf8.  For example, in a database using utf8mb4, the query "SELECT * FROM table WHERE col = :param" and bindValue(":param", "\u{1F600}", PDO::PARAM_STR | PDO::PARAM_STR_NATL) will cause "PDOException: SQLSTATE[HY000]: General error: 1267 Illegal mix of collations (utf8mb4_general_ci,IMPLICIT) and (utf8_general_ci,COERCIBLE) for operation '='".  Using PDO::PARAM_STR without PDO::PARAM_STR_NATL and ensuring the charset DSN parameter is set correctly can avoid this issue.See:https://wiki.php.net/rfc/extended-string-types-for-pdohttps://mariadb.com/kb/en/library/string-literals/https://dev.mysql.com/doc/refman/8.0/en/string-literals.html
up
7
Oleg Andreyev
9 years ago
Default value for \PDO::ATTR_TIMEOUT is 30 seconds.Ref.: https://github.com/php/php-src/blob/PHP-7.1.0/ext/pdo_mysql/mysql_driver.c#L600
up
3
Sbastien
5 years ago
PDO::FETCH_UNIQUE not only fetches the unique values, it also uses the first SQL column as array key result, what is very useful for create quickly an index, eg :<?php$sql = <<<SQL    SELECT ALL        c1, -- For result indexing        c1, c2    FROM (        VALUES            ROW('ID-1', 'Value 1'),            ROW('ID-2', 'Value 2a'),            ROW('ID-2', 'Value 2b'),            ROW('ID-3', 'Value 3')    ) AS t (c1, c2);    SQL;$result = $pdo->query($sql);print_r($result->fetchAll(PDO::FETCH_UNIQUE));/*Gives :ID-1 => [c1 => ID-1,  c2 => Value 1]ID-2 => [c1 => ID-2b, c2 => Value 2b]ID-3 => [c1 => ID-3,  c2 => Value 3]*/?>
up
3
todd at toddwiggins dot com dot au
5 years ago
Reference to all the PDO::MYSQL_* constants is available in MySQL's documentation for the driver here: https://dev.mysql.com/doc/connectors/en/apis-php-pdo-mysql.htmlSuch as the ones I was looking for PDO::MYSQL_ATTR_SSL_CA and PDO::MYSQL_ATTR_SSL_CAPATH which are not listed on this page.
up
0
happy dot job7348 at fastmail dot com
1 year ago
To bind a float, use PDO::PARAM_STR with bindValue. You can skip the PDO::PARAM_STR because it's the default option. Binding with bindParam will change the type of the bound variable to a string, which can lead to type errors.
To Top