# Constantes pré-définies

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.

`PDO::PARAM_BOOL` (int)
  Représente le type de données booléen.
`PDO::PARAM_NULL` (int)
  Représente le type de données NULL SQL.
`PDO::PARAM_INT` (int)
  Représente le type de données INTEGER SQL.
`PDO::PARAM_STR` (int)
  Représente les types de données CHAR, VARCHAR ou les autres types de données sous forme de chaîne de caractères SQL.
`PDO::PARAM_STR_NATL` (int)
  Indicateur pour désigner une chaîne utilise le jeu de caractères national. Disponible à partir de PHP 7.2.0
`PDO::PARAM_STR_CHAR` (int)
  Indicateur pour désigner une chaîne utilise le jeu de caractères normal. Disponible à partir de PHP 7.2.0
`PDO::PARAM_LOB` (int)
  Représente le type de données "objet large" SQL.
`PDO::PARAM_STMT` (int)
  Représente un type de jeu de résultats. N'est actuellement pas pris en charge par tous les pilotes.
`PDO::PARAM_INPUT_OUTPUT` (int)
  Spécifie que le paramètre est un paramètre INOUT pour une procédure stockée. Vous devez utiliser l'opérateur OR avec un type de données explicite PDO::PARAM_*.
`PDO::FETCH_DEFAULT` (int)
  Spécifie que le méthode de récupération par défaut doit être utilisé. Disponible à partir de PHP 8.0.7.
`PDO::FETCH_LAZY` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne en tant qu'objet avec les noms de propriétés correspondant aux noms de colonnes retournés dans le jeu de résultats. `PDO::FETCH_LAZY` retourne un objet PDORow qui crée les noms de propriété de l'objet au fur et à mesure de leur accès. Pas valide avec PDOStatement::fetchAll().
`PDO::FETCH_ASSOC` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant. Si le jeu de résultats contient de multiples colonnes avec le même nom, `PDO::FETCH_ASSOC` retourne une seule valeur par nom de colonne.
`PDO::FETCH_NAMED` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes comme elles sont retournées dans le jeu de résultats correspondant. Si le jeu de résultats contient de multiples colonnes avec le même nom, `PDO::FETCH_NAMED` retourne un tableau de valeurs par nom de colonne.
`PDO::FETCH_NUM` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par le numéro des colonnes comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0.
`PDO::FETCH_BOTH` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne dans un tableau indexé par les noms des colonnes ainsi que leurs numéros, comme elles sont retournées dans le jeu de résultats correspondant, en commençant à 0.
`PDO::FETCH_OBJ` (int)
  Spécifie que la méthode de récupération doit retourner chaque ligne dans un objet avec les noms de propriétés correspondant aux noms des colonnes comme elles sont retournées dans le jeu de résultats.
`PDO::FETCH_BOUND` (int)
  Spécifie que la méthode de récupération doit retourner `true` et assigner les valeurs des colonnes du jeu de résultats aux variables PHP auxquelles elles sont liées avec la méthode PDOStatement::bindParam() ou la méthode PDOStatement::bindColumn().
`PDO::FETCH_COLUMN` (int)
  Spécifie que la méthode de récupération doit retourner uniquement une seule colonne demandée depuis la prochaine ligne du jeu de résultats.
`PDO::FETCH_CLASS` (int)
  Spécifie que la méthode de récupération doit retourner une nouvelle instance de la classe demandée.

  > Note: L'objet est initialisé en mappant les colonnes du jeu de résultats aux propriétés de la classe. Ce processus se produit avant que le constructeur ne soit appelé, permettant la population des propriétés, indépendamment de leur visibilité ou de leur marqueur comme `readonly`. Si une propriété n'existe pas dans la classe, la méthode magique __set() sera invoquée si elle existe ; sinon, une propriété publique dynamique sera créée. Cependant, lorsque `PDO::FETCH_PROPS_LATE` est également spécifié, le constructeur est appelé avant que les propriétés soient peuplées.

`PDO::FETCH_INTO` (int)
  Spécifie que la méthode de récupération doit mettre à jour une instance existante de la classe demandée, liant les colonnes aux propriétés nommées dans la classe.
`PDO::FETCH_FUNC` (int)
  Permet de personnaliser la façon dont sont traitées les données à la volée (uniquement valide dans la méthode PDOStatement::fetchAll()).
`PDO::FETCH_GROUP` (int)
  Groupe le résultat par les valeurs. Habituellement combiné avec `PDO::FETCH_COLUMN` ou `PDO::FETCH_KEY_PAIR`.
`PDO::FETCH_UNIQUE` (int)
  Récupère uniquement les valeurs uniques.
`PDO::FETCH_KEY_PAIR` (int)
  Récupère un résultat sur deux colonnes dans un tableau où la première colonne est la clé, et la seconde colonne est la valeur.
`PDO::FETCH_CLASSTYPE` (int)
  Détermine le nom de la classe depuis la valeur de la première colonne.
`PDO::FETCH_SERIALIZE` (int)
  Identique à `PDO::FETCH_INTO`, mais l'objet est fourni sous la forme d'une chaîne sérialisée. Le constructeur de la classe n'est jamais appelé si ce drapeau est défini. Obsolète à partir de PHP 8.1.0.
`PDO::FETCH_PROPS_LATE` (int)
  Appelle le constructeur avant de définir les propriétés.
`PDO::ATTR_AUTOCOMMIT` (int)
  Si la valeur vaut `false`, PDO tente de désactiver l'autovalidation lorsque la connexion commence une transaction.
`PDO::ATTR_PREFETCH` (int)
  Définir la taille de la prérécupération vous permet d'accroître les performances de votre application. Toutes les combinaisons bases de données / pilotes ne prennent pas en charge cette fonctionnalité. Ceci accroît les performances au détriment de la consommation de mémoire vive.
`PDO::ATTR_TIMEOUT` (int)
  Définit la valeur 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)
  Attribut en lecture seule ; il retourne des informations sur la version de la base de données à laquelle PDO est connecté.
`PDO::ATTR_CLIENT_VERSION` (int)
  Attribut en lecture seule ; il retourne des informations sur la version de la librairie cliente utilisée par PDO.
`PDO::ATTR_SERVER_INFO` (int)
  Attribut en lecture seule ; il retourne quelques méta-informations sur le serveur de base de données auquel PDO est connecté.
`PDO::ATTR_CONNECTION_STATUS` (int)
`PDO::ATTR_CASE` (int)
  Force les noms des colonnes dans une casse spécifiée par les constantes `PDO::CASE_*`.
`PDO::ATTR_CURSOR_NAME` (int)
  Récupère ou définit le nom à utiliser pour un curseur. Très utile lors de l'utilisation de curseurs défilables et des mises à jour positionnées.
`PDO::ATTR_CURSOR` (int)
  Sélectionne le type de curseur. PDO supporte actuellement soit `PDO::CURSOR_FWDONLY`, soit `PDO::CURSOR_SCROLL`. Conservez `PDO::CURSOR_FWDONLY` tant que vous savez que vous avez besoin d'un curseur défilable.
`PDO::ATTR_DRIVER_NAME` (int)
  Retourne le nom du pilote.

  Exemple #1 Utilisation de `PDO::ATTR_DRIVER_NAME`

  `<?php
  if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  echo "Utilisation de mysql ; fait quelque chose de spécifique à mysql ici\n";
  }
  ?>`
`PDO::ATTR_ORACLE_NULLS` (int)
  Convertit les chaînes vides en valeurs NULL SQL dans les données récupérées.
`PDO::ATTR_PERSISTENT` (int)
  Demande une connexion persistante, plutôt que de créer une nouvelle connexion. Voir les connexions et le gestionnaire de connexion pour plus d'informations sur cet attribut.
`PDO::ATTR_STATEMENT_CLASS` (int)
  Définit le nom de la classe sous laquelle les données sont retournées.
`PDO::ATTR_FETCH_CATALOG_NAMES` (int)
  Ajoute le contenu du catalogue de noms dans chaque nom de colonne retourné dans le jeu de résultat. Le catalogue de noms et les noms de colonnes sont séparés par un point (.). Le prise en charge de cet attribut n'est faite par tous les pilotes ; il peut ne pas être disponible pour votre pilote.
`PDO::ATTR_FETCH_TABLE_NAMES` (int)
  Ajoute le contenu de la table de noms dans chaque nom de colonne retourné dans le jeu de résultats. La table de noms et les noms de colonnes sont séparés par un point (.). La prise en charge de cet attribut n'est pas faite par tous les pilotes ; il peut ne pas être disponible pour votre pilote.
`PDO::ATTR_STRINGIFY_FETCHES` (int)
  Force toutes les valeurs récupérées (sauf `null`) à être traitées comme des chaînes. Les valeurs `null` restent inchangées, sauf si `PDO::ATTR_ORACLE_NULLS` est défini sur `PDO::NULL_TO_STRING`.
`PDO::ATTR_MAX_COLUMN_LEN` (int)
  Définit la longueur maximale du nom de colonne.
`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 `PDO::PARAM_STR_NATL` ou `PDO::PARAM_STR_CHAR`. Disponible à partir de PHP 7.2.0.
`PDO::ERRMODE_SILENT` (int)
  N'envoie pas d'erreur ni d'exception si une erreur survient. Le développeur doit explicitement vérifier les erreurs. C'est le mode par défaut. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
`PDO::ERRMODE_WARNING` (int)
  Envoie une erreur de niveau `E_WARNING` si une erreur survient. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
`PDO::ERRMODE_EXCEPTION` (int)
  Lance une exception PDOException si une erreur survient. Voir les erreurs et la gestion des erreurs pour plus d'informations sur cet attribut.
`PDO::CASE_NATURAL` (int)
  Laisse les noms de colonnes comme retournés par le pilote de base de données.
`PDO::CASE_LOWER` (int)
  Force les noms de colonnes en minuscules.
`PDO::CASE_UPPER` (int)
  Force les noms des colonnes en majuscules.
`PDO::NULL_NATURAL` (int)
`PDO::NULL_EMPTY_STRING` (int)
`PDO::NULL_TO_STRING` (int)
`PDO::FETCH_ORI_NEXT` (int)
  Récupère la prochaine ligne d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::FETCH_ORI_PRIOR` (int)
  Récupère la ligne précédente d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::FETCH_ORI_FIRST` (int)
  Récupère la première ligne d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::FETCH_ORI_LAST` (int)
  Récupère la dernière ligne d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::FETCH_ORI_ABS` (int)
  Récupère la ligne demandée par un numéro de ligne d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::FETCH_ORI_REL` (int)
  Récupère la ligne demandée par une position relative à la position courante du curseur d'un jeu de résultats. Valide seulement pour les curseurs défilables.
`PDO::CURSOR_FWDONLY` (int)
  Crée un objet PDOStatement avec un curseur uniquement de retour. C'est le choix par défaut pour le curseur, car il est rapide et l'accès aux données est commun pour les masques en PHP.
`PDO::CURSOR_SCROLL` (int)
  Crée un objet PDOStatement avec un curseur défilable. Passez la constante `PDO::FETCH_ORI_*` pour contrôler les lignes récupérées du jeu de résultats.
`PDO::ERR_NONE` (string)
  Correspond à SQLSTATE '00000', ce qui signifie que la requête SQL a réussi sans erreur, ni avertissement. Cette constante est utile lorsque vous utilisez PDO::errorCode() ou PDOStatement::errorCode() pour déterminer si une erreur est survenue. Cependant, vous devez déjà savoir si c'est le cas en examinant le code retourné par la méthode qui a lancé l'erreur.
`PDO::PARAM_EVT_ALLOC` (int)
  Alloue un événement
`PDO::PARAM_EVT_FREE` (int)
  Supprime un événement
`PDO::PARAM_EVT_EXEC_PRE` (int)
  Toujours faire un déclencheur avant l'exécution d'une requête préparée.
`PDO::PARAM_EVT_EXEC_POST` (int)
  Toujours effectuer un déclencheur de sous-séquence avant l'exécution d'une requête préparée.
`PDO::PARAM_EVT_FETCH_PRE` (int)
  Toujours effectuer un déclencheur avant de récupérer un résultat d'un jeu de résultats.
`PDO::PARAM_EVT_FETCH_POST` (int)
  Toujours effectuer un déclencheur de sous-séquence avant de récupérer un résultat d'un jeu de résultats.
`PDO::PARAM_EVT_NORMALIZE` (int)
  Toujours effectuer un déclencheur lors de l'enregistrement des paramètres liés permettant au pilote de normaliser le nom des paramètres.
`PDO::SQLITE_DETERMINISTIC` (int)
  Spécifie qu'une fonction créée avec PDO:: PDO::sqliteCreateFunction() est déterministe, c'est-à-dire qu'elle retourne toujours le même résultat en raison des mêmes entrées dans une seule instruction SQL. (Disponible à partir de PHP 7.1.4.)