(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)
PDOStatement::debugDumpParams — Detalla una instrucción SQL preparada
Detalla la información contenida en una instrucción preparada,
directamente en la salida estándar. La información incluye
la consulta SQL utilizada, el número de parámetros
usados (Params), la lista de parámetros, con
el nombre de clave o su posición, su nombre, su posición en la consulta
(si esta última información no es soportada por el controlador PDO,
es siempre -1), un tipo (param_type) en forma de entero,
y un valor booleano is_param.
Esta es una función de depuración, que muestra directamente información en la salida estándar.
Al igual que con todas las funciones que muestran directamente resultados al navegador, las funciones de gestión de salida pueden ser utilizadas para capturar la salida de esta función y almacenarla en un string (por ejemplo).
Los parámetros mostrados son aquellos que han sido añadidos en la consulta hasta el momento de la llamada. Los parámetros adicionales son ignorados.
Esta función no contiene ningún parámetro.
| Versión | Descripción |
|---|---|
| 7.2.0 | PDOStatement::debugDumpParams() ahora devuelve el SQL enviado a la base de datos, incluyendo la consulta completa, RAW (incluyendo los marcadores de posición reemplazados con sus valores delimitados). Tenga en cuenta que esto solo estará disponible si las instrucciones preparadas emuladas están activadas. |
Ejemplo #1 Ejemplo con PDOStatement::debugDumpParams() y parámetros nombrados
<?php
/* ejecución de una instrucción preparada con enlace a variables PHP */
$calories = 150;
$colour = 'red';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$sth->bindParam(':calories', $calories, PDO::PARAM_INT);
$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);
$sth->execute();
$sth->debugDumpParams();
?>El ejemplo anterior mostrará :
SQL: [96] SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour
Params: 2
Key: Name: [9] :calories
paramno=-1
name=[9] ":calories"
is_param=1
param_type=1
Key: Name: [7] :colour
paramno=-1
name=[7] ":colour"
is_param=1
param_type=2
Ejemplo #2 Ejemplo con PDOStatement::debugDumpParams() y parámetros anónimos
<?php
/* ejecución de una instrucción preparada con enlace a variables PHP */
$calories = 150;
$colour = 'red';
$name = 'apple';
$sth = $dbh->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$sth->bindParam(1, $calories, PDO::PARAM_INT);
$sth->bindValue(2, $colour, PDO::PARAM_STR);
$sth->execute();
$sth->debugDumpParams();
?>El ejemplo anterior mostrará :
SQL: [82] SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?
Params: 2
Key: Position #0:
paramno=0
name=[0] ""
is_param=1
param_type=1
Key: Position #1:
paramno=1
name=[0] ""
is_param=1
param_type=2