PDOStatement::debugDumpParams

(PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.9.0)

PDOStatement::debugDumpParams — SQL 준비 명령 덤프


설명

public PDOStatement::debugDumpParams(): ?bool

준비된 명령문에 포함된 정보를 출력에 직접 덤프합니다. 사용 중인 SQL 쿼리, 사용된 매개변수 수(Params), 키 이름 또는 위치가 포함된 매개변수 목록, 이름, 쿼리에서의 위치(PDO 드라이버에서 지원하는 경우, 그렇지 않은 경우 -1), (param_type)을 정수로 입력하고 부울 값 is_param을 입력합니다.

이것은 데이터를 일반 출력으로 직접 덤프하는 디버그 기능입니다.

결과를 브라우저에 직접 출력하는 모든 것과 마찬가지로 출력 제어 함수를 사용하여 이 함수의 출력을 캡처하고 문자열로 저장할 수 있습니다(예:).

이것은 덤프 순간에 명령문의 매개변수만 덤프합니다. 추가 매개변수는 명령문에 저장되지 않고 표시되지 않습니다.


매개변수

이 함수에는 매개변수가 없습니다.


반환 값

null을 반환하거나 오류가 있는 경우 false를 반환합니다.


변경 로그

버전 설명
7.2.0 PDOStatement::debugDumpParams()는 이제 전체 원시 쿼리(바운딩된 값으로 교체된 자리 표시자 포함)를 포함하여 데이터베이스로 보낸 SQL을 반환합니다. 이것은 에뮬레이트된 준비된 명령문이 켜져 있는 경우에만 사용할 수 있습니다.

Examples

예제 #1 명명된 매개변수가 있는 PDOStatement::debugDumpParams() 예제

                  
<?php
/* Execute a prepared statement by binding PHP variables */
$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
                

예제 #2 명명되지 않은 매개변수가 있는 PDOStatement::debugDumpParams() 예제

                  
<?php

/* Execute a prepared statement by binding PHP variables */
$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
                

기타