PHP 8.5.0 Alpha 1 available for testing

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 {
/* Constantaes heredadas constants */
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 getWarningCount(): int
/* Métodos heredados */
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 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