PDOStatement::debugDumpParams — 列印一條SQL 預處理指令(PHP 5 >= 5.1.0, PECL pdo >= 0.9.0)
bool PDOStatement::debugDumpParams ( void )
直接列印出一條預處理語句所包含的資訊。提供正在使用的SQL 查詢、所用參數(Params)的數目、參數的清單、參數名、用一個整數表示的參數類型(paramtype)、鍵名或位置、值、以及在查詢中的位置(如果當前POD驅動不支持,則為-1)。
此為一個用於調試的功能,在正常輸出的情況下直接輸出資料。提示:就像直接將結果輸出到瀏覽器一樣,可使用輸出控制函數來擷取目前函數的輸出,然後(例如)儲存到一個string 中。
只列印此時此刻語句中的參數。額外的參數不儲存在語句中,也就不會被輸出。
沒有回傳值。
<?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 = :colourParams: 2Key: Name: [9] :caloriesparamno=-1name=[9] ":calories"is_param=1m_paramno=-1name=[9] ":calories"is_param=1m_param=1 Name: [7] :colourparamno=-1name=[7] ":colour"is_param=1param_type=2
<?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: 2Key: Position #0:paramno=0name=[0] ""is_param=1param_type=1Key: Position #1:paramnoition #1:paramnoition 1name=[0] ""is_param=1param_type=2