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