LonghornPHP 2026

La clase Pdo\Mysql

(PHP 8 >= 8.4.0)

Introducción

Una subclase de PDO que representa una conexión utilizando el controlador PDO MySQL.

Este controlador admite un analizador de consultas SQL dedicado para el dialecto MySQL. Puede gestionar los siguientes elementos:

  • Literales entre comillas simples y dobles con duplicación y barra invertida como mecanismos de escape

  • Literales con acento grave con duplicación como mecanismo de escape

  • Dos guiones, comentarios de estilo C y comentarios de tipo hash

Sinopsis de la clase

class Pdo\Mysql extends PDO {
/* Constantes heredadas */
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étodos */
public function getWarningCount(): int
/* Métodos heredados */
public function PDO::__construct(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
)
public function PDO::beginTransaction(): bool
public function PDO::commit(): bool
public static function PDO::connect(
    string $dsn,
    ?string $username = null,
    #[\SensitiveParameter]?string $password = null,
    ?array $options = null
): static
public function PDO::errorCode(): ?string
public function PDO::errorInfo(): array
public function PDO::exec(string $statement): int|false
public function PDO::getAttribute(int $attribute): mixed
public static function PDO::getAvailableDrivers(): array
public function PDO::inTransaction(): bool
public function PDO::lastInsertId(?string $name = null): string|false
public function PDO::prepare(string $query, array $options = []): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = null): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_COLUMN, int $colno): PDOStatement|false
public function PDO::query(
    string $query,
    ?int $fetchMode = PDO::FETCH_CLASS,
    string $classname,
    array $constructorArgs
): PDOStatement|false
public function PDO::query(string $query, ?int $fetchMode = PDO::FETCH_INTO, object $object): PDOStatement|false
public function PDO::quote(string $string, int $type = PDO::PARAM_STR): string|false
public function PDO::rollBack(): bool
public function PDO::setAttribute(int $attribute, mixed $value): bool
}

Constantes predefinidas

Pdo\Mysql::ATTR_USE_BUFFERED_QUERY

Por omisión, todas las consultas se ejecutan en modo almacenado en búfer. Si este atributo se define como false en un objeto Pdo\Mysql, el controlador MySQL utilizará el modo sin búfer.

Ejemplo #1 Activación del modo sin búfer 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

Activa LOAD LOCAL INFILE.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_LOCAL_INFILE_DIRECTORY

Permite restringir la carga de datos locales a los ficheros situados en este directorio designado.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_INIT_COMMAND

El comando a ejecutar al conectarse al servidor MySQL. Se reejecutará automáticamente al reconectar.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_READ_DEFAULT_FILE

Leer las opciones del fichero de opciones nombrado en lugar de my.cnf.

Nota:

Esta opción no está disponible si se utiliza mysqlnd, ya que mysqlnd no lee los ficheros de configuración mysql.

Pdo\Mysql::ATTR_READ_DEFAULT_GROUP

Lee las opciones del grupo nombrado del fichero my.cnf o el fichero especificado con Pdo\Mysql::ATTR_READ_DEFAULT_FILE.

Nota:

Esta opción no está disponible si se utiliza mysqlnd, ya que mysqlnd no lee los ficheros de configuración mysql.

Pdo\Mysql::ATTR_COMPRESS

Activa la compresión de la comunicación de red.

Pdo\Mysql::ATTR_DIRECT_QUERY

Alias de PDO::ATTR_EMULATE_PREPARES.

Pdo\Mysql::ATTR_FOUND_ROWS

Devuelve el número de filas encontradas (coincidentes), no el número de filas modificadas.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_IGNORE_SPACE

Permite espacios después de los nombres de funciones SQL. Convierte todos los nombres de funciones SQL en palabras reservadas.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_MAX_BUFFER_SIZE

El tamaño máximo del búfer. Por omisión, 1 MB.

Nota:

Esta constante no está soportada cuando se compila sin mysqlnd.

Pdo\Mysql::ATTR_MULTI_STATEMENTS

Desactiva la ejecución de consultas múltiples en PDO::prepare() y PDO::query() cuando se define como false.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SERVER_PUBLIC_KEY

RSA la ruta del fichero de clave pública utilizada con la autenticación basada en SHA-256.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_KEY

La ruta del fichero de clave SSL.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_CERT

La ruta del certificado SSL.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_CA

La ruta del certificado de autoridad SSL.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_CAPATH

La ruta del directorio que contiene los certificados de autoridad SSL CA, almacenados en formato PEM.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_CIPHER

Una lista de uno o más cifrados autorizados para utilizar con SSL, en un formato comprendido por OpenSSL. Por ejemplo: DHE-RSA-AES256-SHA:AES128-SHA

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Pdo\Mysql::ATTR_SSL_VERIFY_SERVER_CERT

Proporciona un medio para desactivar la verificación del certificado del servidor SSL.

Nota:

Esta opción está disponible únicamente con mysqlnd.

Nota:

Puede utilizarse únicamente en el array driver_options al construir una nueva conexión a la base de datos.

Tabla de contenidos

add a note

User Contributed Notes

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