PDOStatement::debugDumpParams

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

PDOStatement::debugDumpParamsGibt Informationen über einen vorbereiteten SQL-Befehl aus

Beschreibung

publicPDOStatement::debugDumpParams(): ?bool

Scheibt die in einer vorbereiteten Anweisung enthaltenen Informationen direkt in die Ausgabe. Ausgegeben werden die verwendete SQL-Abfrage, die Anzahl der verwendeten Parameter (Params), die Liste der Parameter mit ihrem Schlüsselnamen oder ihrer Position, ihren Namen, ihre Position in der Abfrage (falls dies vom PDO-Treiber unterstützt wird, andernfalls ist es -1), ihren Typ (param_type) als Ganzzahl und einen booleschen Wert is_param.

Dies ist eine Debug-Funktion, die die Daten direkt in die normale Ausgabe schreibt.

Tipp

Bei allem, dessen Ergebnisausgabe direkt im Browser angezeigt wird, können Sie die Funktionen zur Ausgabesteuerung verwenden. Damit lässt sich die Ausgabe dieser Funktion erfassen, und - zum Beispiel - in einem string speichern.

Hierbei werden nur die Parameter ausgegeben, die zum Zeitpunkt der Ausgabe in der Anweisung enthalten sind. Überzählige Parameter werden nicht in der Anweisung gespeichert und daher auch nicht angezeigt.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt null zurück oder false, wenn ein Fehler aufgetreten ist.

Changelog

VersionBeschreibung
7.2.0PDOStatement::debugDumpParams() gibt nun den an die Datenbank gesendeten SQL-Befehl zurück, einschließlich der vollständigen, rohen Abfrage (einschließlich der ersetzten Platzhalter mit ihren gebundenen Werten). Zu beachten ist, dass dies nur zur Verfügung steht, wenn emulierte vorbereitete Anweisungen aktiviert sind.

Beispiele

Beispiel #1 PDOStatement::debugDumpParams()-Beispiel mit benannten Parametern

<?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();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Beispiel #2 PDOStatement::debugDumpParams()-Beispiel mit Fragezeichen-Parametern

<?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();

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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

Siehe auch

To Top