(PHP 7 >= 7.4.0, PHP 8)
SQLite3Stmt::getSQL — Récupère le SQL d'une instruction préparée
Récupère le SQL d'une instruction préparée. Si expand
est false, le SQL non modifié est récupéré. Si expand
est true, tous les paramètres de requête sont remplacés par leurs valeurs liées,
ou par un NULL SQL, s'ils ne sont pas encore liés.
expand
S'il faut récupérer le code SQL étendu. Passer true n'est supporté qu'à
partir de libsqlite 3.14.
Retourne le SQL de la déclaration préparée, ou false si une erreur survient.
Si expand est true, mais que la version de libsqlite est inférieure à
3.14, une erreur de niveau E_WARNING ou une Exception
est émise, en accord avec SQLite3::enableExceptions().
Exemple #1 Inspecter le SQL étendu
<?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));
?>Résultat de l'exemple ci-dessus est similaire à :
string(24) "SELECT 'foo', '42', NULL"