PHP 8.4.2 Released!

La classe Pdo\Mysql

(PHP 8 >= 8.4.0)

Introduction

Une sous-classe de PDO représentant une connexion utilisant le pilote MySQL PDO.

Ce pilote supporte un analyseur de requêtes SQL dédié pour le dialecte MySQL. Il peut gérer les éléments suivants :

  • Les littéraux à guillemets simples et doubles avec le doublement et le backslash comme mécanismes d'échappement
  • Les littéraux à accent grave avec le doublement comme mécanisme d'échappement
  • Deux tirets, les commentaires de style C et les commentaires de type hash

Synopsis de la classe

class Pdo\Mysql extends PDO {
/* Constantes héritées */
public const int PDO::PARAM_NULL;
public const int PDO::PARAM_BOOL = 5;
public const int PDO::PARAM_INT = 1;
public const int PDO::PARAM_STR = 2;
public const int PDO::PARAM_LOB = 3;
public const int PDO::PARAM_STMT = 4;
public const int PDO::PARAM_STR_NATL;
public const int PDO::PARAM_STR_CHAR;
public const int PDO::PARAM_EVT_FREE;
public const int PDO::FETCH_DEFAULT;
public const int PDO::FETCH_LAZY;
public const int PDO::FETCH_ASSOC;
public const int PDO::FETCH_NUM;
public const int PDO::FETCH_BOTH;
public const int PDO::FETCH_OBJ;
public const int PDO::FETCH_BOUND;
public const int PDO::FETCH_COLUMN;
public const int PDO::FETCH_CLASS;
public const int PDO::FETCH_INTO;
public const int PDO::FETCH_FUNC;
public const int PDO::FETCH_GROUP;
public const int PDO::FETCH_UNIQUE;
public const int PDO::FETCH_KEY_PAIR;
public const int PDO::FETCH_NAMED;
public const int PDO::ATTR_PREFETCH;
public const int PDO::ATTR_TIMEOUT;
public const int PDO::ATTR_ERRMODE;
public const int PDO::ATTR_CASE;
public const int PDO::ATTR_CURSOR;
public const int PDO::ERRMODE_SILENT;
public const int PDO::CASE_NATURAL;
public const int PDO::CASE_LOWER;
public const int PDO::CASE_UPPER;
public const int PDO::NULL_NATURAL;
public const int PDO::NULL_TO_STRING;
public const string PDO::ERR_NONE;
public const int PDO::FETCH_ORI_NEXT;
public const int PDO::FETCH_ORI_LAST;
public const int PDO::FETCH_ORI_ABS;
public const int PDO::FETCH_ORI_REL;
public const int PDO::CURSOR_FWDONLY;
public const int PDO::CURSOR_SCROLL;
/* Constantes */
public const int ATTR_LOCAL_INFILE;
public const int ATTR_INIT_COMMAND;
public const int ATTR_COMPRESS;
public const int ATTR_DIRECT_QUERY;
public const int ATTR_FOUND_ROWS;
public const int ATTR_IGNORE_SPACE;
public const int ATTR_SSL_KEY;
public const int ATTR_SSL_CERT;
public const int ATTR_SSL_CA;
public const int ATTR_SSL_CAPATH;
public const int ATTR_SSL_CIPHER;
/* Méthodes */
public getWarningCount(): int
/* Méthodes héritées */
public PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter] ?string $password = null,
    ?array $options = null
)
public PDO::commit(): bool
public static PDO::connect(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter] ?string $password = null,
    ?array $options = null
): static
public PDO::exec(string $statement): int|false
public PDO::getAttribute(int $attribute): mixed
public PDO::prepare(string $query, array $options = []): PDOStatement|false
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
public PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false
public PDO::setAttribute(int $attribute, mixed $value): bool
}

Constantes pré-définies

Pdo\Mysql::ATTR_USE_BUFFERED_QUERY
Par défaut, toutes les requêtes sont exécutées en mode tamponné. Si cet attribut est défini à false sur un objet Pdo\Mysql, le pilote MySQL utilisera le mode non tamponné.

Exemple #1 Activation du mode non tamponné MySQL

<?php
$pdo
= new Pdo\Mysql("mysql:host=localhost;dbname=world", 'my_user', 'my_password');
$pdo->setAttribute(PDO::MYSQL_ATTR_USE_BUFFERED_QUERY, false);

$unbufferedResult = $pdo->query("SELECT Name FROM City");
foreach (
$unbufferedResult as $row) {
echo
$row['Name'] . PHP_EOL;
}
?>
Pdo\Mysql::ATTR_LOCAL_INFILE
Enable LOAD LOCAL INFILE.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY
Permet de restreindre le chargement de données locales aux fichiers situés dans ce répertoire désigné.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_INIT_COMMAND
La commande à exécuter lors de la connexion au serveur MySQL. Sera automatiquement réexécutée lors de la reconnexion.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_READ_DEFAULT_FILE
Lire les options du fichier d'options nommé au lieu de my.cnf.

Note: Cette option n'est pas disponible si mysqlnd est utilisé, car mysqlnd ne lit pas les fichiers de configuration mysql.

Pdo\Mysql::ATTR_READ_DEFAULT_GROUP
Lit les options du groupe nommé du fichier my.cnf ou le fichier spécifié avec Pdo\Mysql::ATTR_READ_DEFAULT_FILE.

Note: Cette option n'est pas disponible si mysqlnd est utilisé, car mysqlnd ne lit pas les fichiers de configuration mysql.

Pdo\Mysql::ATTR_COMPRESS
Active la compression de la communication réseau.
Pdo\Mysql::ATTR_DIRECT_QUERY
Alias de PDO::ATTR_EMULATE_PREPARES.
Pdo\Mysql::ATTR_FOUND_ROWS
Renvoie le nombre de lignes trouvées (correspondantes), pas le nombre de lignes modifiées.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_IGNORE_SPACE
Permet les espaces après les noms de fonctions SQL. Rends tous les noms de fonctions SQL des mots réservés.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_MAX_BUFFER_SIZE
La taille maximale du tampon. Par défaut, 1 Mo.

Note: Cette constante n'est pas supportée lorsqu'elle est compilée sans mysqlnd.

Pdo\Mysql::ATTR_MULTI_STATEMENTS
Désactive l'exécution de requêtes multiples dans PDO::prepare() et PDO::query() lorsque définit à false.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY
RSA le chemin du fichier de clé publique utilisé avec l'authentification basée sur SHA-256.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_KEY
Le chemin du fichier de clé SSL.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_CERT
Le chemin du certificat SSL.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_CA
Le chemin du certificat d'autorité SSL.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_CAPATH
Le chemin du répertoire qui contient les certificats d'autorité SSL CA, stockés au format PEM.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_CIPHER
Une liste d'un ou plusieurs chiffrements autorisés à utiliser pour SSL, dans un format compris par OpenSSL. Par exemple : DHE-RSA-AES256-SHA:AES128-SHA

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT
Apporte un moyen de désactiver la vérification du certificat du serveur SSL.

Note: Cette option est disponible uniquement avec mysqlnd.

Note: Peut uniquement être utilisé dans le tableau driver_options lors de la construction d'une nouvelle connexion à la base de données.

Sommaire

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top