PDOStatement::debugDumpParams — SQL 前処理コマンドを出力する (PHP 5 >= 5.1.0、PECL pdo >= 0.9.0)
bool PDOStatement::debugDumpParams ( void )
準備されたステートメントに含まれる情報を直接出力します。使用されている SQL クエリ、使用されているパラメータ (Params) の数、パラメータのリスト、パラメータ名、整数で表されるパラメータ タイプ (paramtype)、キーの名前または位置、値、クエリ内の位置 (現在のクエリの場合) を提供します。 POD ドライバがサポートしていない場合は -1) となります。
通常の出力状態でデータを直接出力するデバッグ用の機能です。ヒント:結果をブラウザに直接出力するだけでなく、出力制御関数を使用して現在の関数の出力をキャプチャし、(たとえば) それを文字列に保存することもできます。
現時点ではステートメント内のパラメータのみを出力します。追加のパラメータはステートメントに保存されず、出力されません。
戻り値はありません。
<?php/* PHP 変数をバインドしてプリペアドステートメントを実行します*/$calers = 150;$colour = 'red';$sth = $dbh->prepare('SELECT 名前、色、カロリー FROM フルーツ WHERE カロリー < :カロリーAND color = :colour');$sth->bindParam(':カロリー', $カロリー, PDO::PARAM_INT);$sth->bindValue(':colour', $colour, PDO::PARAM_STR, 12);$sth->execute();$sth->debugDumpParams();?>
上記のルーチンは次を出力します。
SQL: [96] SELECT 名前、色、カロリー FROM フルーツ WHERE カロリー < :カロリー AND カラー = :colourParams: 2Key: 名前: [9] :カロリーsparamno=-1name=[9] ":カロリー"is_param=1param_type=1Key:名前: [7] :colourparamno=-1name=[7] ":colour"is_param=1param_type=2
<?php/* PHP 変数をバインドしてプリペアドステートメントを実行*/$calers = 150;$colour = 'red';$name = 'apple';$sth = $dbh->prepare('SELECT name, color ,カロリーFROM フルーツ WHERE カロリー < ? AND color = ?');$sth->bindParam(1, $カロリー, PDO::PARAM_INT);$sth->bindValue(2, $colour, PDO::PARAM_STR);$sth->execute();$sth->debugDumpParams();?>
上記のルーチンは次を出力します。
SQL: [82] SELECT 名前、色、カロリー FROM フルーツ WHERE カロリー < ? AND color = ?Params: 2Key: Position #0:paramno=0name=[0] ""is_param=1param_type=1Key: Position #1:paramno= 1name=[0] ""is_param=1param_type=2