PHP 7.2.0 Beta 1 Released


(PHP 5 >= 5.3.0, PHP 7)

SQLite3Stmt::bindParamLie un paramètre à une variable de requête


public bool SQLite3Stmt::bindParam ( mixed $sql_param , mixed &$param [, int $type ] )

Lie un paramètre à une variable de requête.

Liste de paramètres


Soit une chaîne de caractères, soit un entier identifiant la variable de requête sur laquelle le paramètre doit être lié.


Le paramètre à lier à la variable de requête.


Le type de données du paramètre à lier.

  • SQLITE3_INTEGER : La valeur est un entier signé, stocké sur 1, 2, 3, 4, 6, ou 8 octets, suivant la grandeur de la valeur.

  • SQLITE3_FLOAT : La valeur est un nombre à virgule flottante, stocké sur 8 octets.

  • SQLITE3_TEXT : La valeur est un texte, stocké en utilisant l'encodage de la base de données (UTF-8, UTF-16BE ou UTF-16-LE).

  • SQLITE3_BLOB : La valeur est un BLOB, stocké exactement de la façon dont il a été fourni.

  • SQLITE3_NULL : La valeur est la valeur NULL.

Valeurs de retour

Retourne TRUE si le paramètre est lié à la variable de requête, FALSE si une erreur survient.

add a note add a note

User Contributed Notes 3 notes

2 years ago
Note that this bindParam needs a variable as the second parameter.
Use bindValue if you want to bind a value, such an array item.
Cassiano Martin
3 years ago
If you use any function to put value into an array, and bind it to the statement, PHP will fill NULLs on the binded field.


$st=$db->prepare('insert into xxx(x1,x2,x3) values(?,?,?)');
$st->bindParam(1, $data[0], SQLITE3_TEXT);
$st->bindParam(2, $data[1], SQLITE3_TEXT);
$st->bindParam(3, $data[2], SQLITE3_TEXT);


This will completely fail, and NULLs will be inserted on the table.

You need to manually assign every variable on the array. Any other function which completes it, will fail and NULLs are inserted.

6 years ago

$stmt->bindParam(1, 'lol', SQLITE3_TEXT);

That would trigger a fatal error as you cannot pass argument 2 by reference as it is a value.
To Top