PDOStatement::debugDumpParams

PHP PDO 参考手册Справочное руководство по PHP PDO

PDOStatement::debugDumpParams — Вывод подготовленной SQL-команды (PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)


Описание

Синтаксис

bool PDOStatement::debugDumpParams ( void )

Непосредственно выводит информацию, содержащуюся в подготовленном выражении. Предоставляет используемый SQL-запрос, количество используемых параметров (Params), список параметров, имя параметра, тип параметра (paramtype), выраженный целым числом, имя ключа или позицию, значение и позицию в запросе (или -1, если это не поддерживается текущим драйвером PDO).

Это функция отладки, которая выводит данные непосредственно в обычный вывод.

Совет:Так же, как и при непосредственном выводе результата в браузер, вы можете использовать функции управления выводом, чтобы перехватить вывод этой функции, а затем (например) сохранить его в строку.

Выводятся только параметры, находящиеся в выражении на текущий момент. Дополнительные параметры не сохраняются в выражении и поэтому не будут выведены.


Возвращаемые значения

Нет возвращаемого значения.


Примеры

Пример PDOStatement::debugDumpParams() с именованными параметрами

<?php
/* 通过绑定 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();

?>

Приведённый выше пример выведет:

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

Пример PDOStatement::debugDumpParams() с неименованными параметрами

<?php

/* 通过绑定 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();

?>

Приведённый выше пример выведет:

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

PHP PDO 参考手册Справочное руководство по PHP PDO

Другие расширения