Récupère le SQL d'une instruction préparée

# SQLite3Stmt::getSQL

(PHP 7 >= 7.4.0, PHP 8)

SQLite3Stmt::getSQL — Récupère le SQL d'une instruction préparée

### Description

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

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.

### Liste de paramètres

`expand`

  S'il faut récupérer le code SQL étendu. Passer `true` n'est supporté qu'à partir de libsqlite 3.14.

### Valeurs de retour

Retourne le SQL de la déclaration préparée, ou `false` si une erreur survient.

### Erreurs / Exceptions

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().

### Exemples

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"

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open