PHP Conference Japan 2024

SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL取得敘述句的 SQL

說明

public SQLite3Stmt::getSQL(bool $expand = false): string|false

擷取預備語句的 SQL。如果 expandfalse,則擷取未修改的 SQL。如果 expandtrue,則所有查詢參數都會被其綁定的值取代,或者如果尚未綁定,則以 SQL NULL 取代。

參數

expand

是否擷取展開的 SQL。傳遞 true 只在 libsqlite 3.14 或更高版本才支援。

傳回值

傳回預備語句的 SQL,如果失敗則傳回 false

錯誤/例外

如果 expandtrue,但 libsqlite 版本低於 3.14,則會根據 SQLite3::enableExceptions() 的設定,發出等級為 E_WARNING 的錯誤或 Exception 例外。

範例

範例 #1 檢查展開的 SQL

<?php
$db
= new SQLite3(':memory:');
$stmt = $db->prepare("SELECT :a, ?, :c");
$stmt->bindValue(':a', 'foo');
$answer = 42;
$stmt->bindParam(2, $answer);
var_dump($stmt->getSQL(true));
?>

以上範例的輸出會類似如下:

string(24) "SELECT 'foo', '42', NULL"
新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top