(PHP 7 >= 7.4.0, PHP 8)
SQLite3Stmt::getSQL — 获取语句的 SQL
检索准备好的语句的 SQL。如果 expand
为 false
,则检索未修改的 SQL。如果 expand
为 true
,则所有查询参数将被替换为其绑定值,或者如果尚未绑定,则替换为 SQL NULL
。
expand
是否检索扩展的 SQL。传递 true
仅在 libsqlite 3.14 或更高版本中支持。
返回准备好的语句的 SQL,或在失败时返回 false
。
如果 expand
为 true
,但 libsqlite 版本低于 3.14,则会发出 E_WARNING
级别的错误或 Exception,具体取决于 SQLite3::enableExceptions()。
示例 #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"