PDO_INFORMIX DSN
PDO_MYSQL DSN
Pilotes PDO
PHP Manual

# Fonctions MySQL (PDO_MYSQL)

## Introduction

PDO_MYSQL est un pilote qui implémente l'interface de PHP Data Objects (PDO) pour autoriser l'accès de PHP aux bases de données de MySQL 3.x, 4.x. et 5.x.

PDO_MYSQL prendra avantage des requêtes natives préparées présentes dans MySQL 4.1 et supérieur. Si vous utilisez une version plus ancienne des bibliothèques clientes mysql, PDO les émulera pour vous.

Avertissement

Prenez garde : certains types de tables MySQL (moteur d'enregistrement) ne supportent pas les transactions. Lorsque vous écrivez du code de base de données transactionnel en utilisant un type de table qui ne supporte pas les transactions, MySQL prétendra qu'une transaction était initiée correctement. De plus, toutes requêtes DLL publiées enverra implicitement toutes les transactions en attente.

## Constantes pré-définies

Les constantes ci-dessous sont définies par ce pilote et seront seulement disponibles lorsque l'extension aura été compilée dans PHP ou chargée dynamiquement du moteur d'exécution. De plus, ces constantes spécifiques au pilote devraient être utilisées seulement si vous utilisez ce pilote. En utilisant les attributs spécifiques à un pilote avec un autre pilote pourrait causer un comportement inattendu. PDO::getAttribute() pourrait être utilisé pour obtenir l'attribut `PDO_ATTR_DRIVER_NAME` pour vérifier le pilote, si votre code peut fonctionner sur des pilotes multiples.

`PDO::MYSQL_ATTR_USE_BUFFERED_QUERY` ( integer )
  Si un attribut est fixé à `TRUE` sur une classe PDOStatement, le pilote MySQL utilisera les versions bufferisées de l'API MySQL. Si vous écrivez du code portable, vous devriez utiliser à la place PDOStatement::fetchAll().

  Exemple #3 Forcer la bufferisation des requêtes avec mysql

  `<?php
  if ($db->getAttribute(PDO::ATTR_DRIVER_NAME) == 'mysql') {
  $stmt = $db->prepare('select * from foo',
  array(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true));
  } else {
  die("mon application fonctionne seulement avec mysql; Je devrais utiliser \$stmt->fetchAll() à la place");
  }
  ?>`
`PDO::MYSQL_ATTR_LOCAL_INFILE` (entier)

  Active LOAD LOCAL INFILE.

`PDO::MYSQL_ATTR_INIT_COMMAND` (entier)

  Commande à exécuter lors de la connexion au serveur MySQL. Sera automatiquement ré-exécuté lors d'une reconnexion.

`PDO::MYSQL_ATTR_READ_DEFAULT_FILE` (entier)

  Lit les options depuis le fichier nommé optionnel, plutôt que depuis my.cnf. Cette option n'est pas disponible lors de l'utilisation de mysqlnd car ce dernier ne lit pas les fichiers de configuration de mysql.

`PDO::MYSQL_ATTR_READ_DEFAULT_GROUP` (entier)

  Lit les options depuis le groupe nommé du fichier my.cnf ou depuis le fichier spécifié par `MYSQL_READ_DEFAULT_FILE`. Cette option n'est pas disponible lors de l'utilisation de mysqlnd car ce dernier ne lit pas les fichiers de configuration de mysql.

`PDO::MYSQL_ATTR_MAX_BUFFER_SIZE` (entier)

  Taille maximale du tampon. Par défaut, vaut 1 MiB.

`PDO::MYSQL_ATTR_DIRECT_QUERY` (entier)

  Effectue des requêtes directes, sans utiliser de requêtes préparées.

## Sommaire

- PDO_MYSQL DSN — Connexion aux bases de données MySQL

PDO_INFORMIX DSN
PDO_MYSQL DSN
Pilotes PDO
PHP Manual