(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
PDOStatement::debugDumpParams — Vuelca un comando preparado de SQL
Vuelca la información contenida en una sentencia preparada directamente en la salida. Proporcionará la consulta SQL en uso, el número de parámetros usados (Params), la lista de parámetros con sus nombres, su tipo (paramtype) como un entero, sus nombres de clave o posición, el valor, y la posición en la consulta (si lo admite el controlador de PDO, si no, será -1).
Esta es una función de depuración, que vuelca directamente los dotos en la salida habitual.
Como con todo lo que genera un resultado directamente en el navegador, se pueden utilizar las funciones de control de salida para capturar el resultado de esta función y guardarlo, por ejemplo, en un string.
Solamente volcará los parámetros de la sentencia en el momento del vuelco. Los parámetros extra no son almacenados en la sentencia, y tampoco son mostrados.
No devuelve ningún valor.
Ejemplo #1 Ejemplo de PDOStatement::debugDumpParams() con parámetros con nombre
<?php
/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$gsent = $gbd->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < :calories AND colour = :colour');
$gsent->bindParam(':calories', $calorías, PDO::PARAM_INT);
$gsent->bindValue(':colour', $color, PDO::PARAM_STR, 12);
$gsent->execute();
$gsent->debugDumpParams();
?>
El resultado del ejemplo sería:
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 de PDOStatement::debugDumpParams() con parámetros sin nombre
<?php
/* Ejecutar una sentencia preparada vinculando variables de PHP */
$calorías = 150;
$color = 'red';
$name = 'apple';
$gsent = $gbd->prepare('SELECT name, colour, calories
FROM fruit
WHERE calories < ? AND colour = ?');
$gsent->bindParam(1, $calorías, PDO::PARAM_INT);
$gsent->bindValue(2, $color, PDO::PARAM_STR);
$gsent->execute();
$gsent->debugDumpParams();
?>
El resultado del ejemplo sería:
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