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
기타
- PDO::prepare() - 실행할 명령문을 준비하고 명령문 개체를 반환합니다.
- PDOStatement::bindParam() - 매개변수를 지정된 변수 이름에 바인딩합니다.
- PDOStatement::bindValue() - 값을 매개변수에 바인딩