PHP 5.4.36 Released

SQLite3Stmt::bindParam

(PHP 5 >= 5.3.0)

SQLite3Stmt::bindParamVincular un parámetro a una variable de sentencia

Descripción

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

Vincula un parámetro a una variable de sentencia.

Parámetros

sql_param

Un string que identifica la variable de sentencia que debería ser vinculada al parámetro.

param

El parámetro a vincular a la variable de sentencia.

type

El tipo de datos del parámetro a vincular.

  • SQLITE3_INTEGER: El valor es un entero con signo, almacenado en 1, 2, 3, 4, 6, u 8 bytes, dependiendo de la magnitud del valor.

  • SQLITE3_FLOAT: El valor es de tipo coma flotante, almacenado como un número de coma flotante IEEE de 8 bytes.

  • SQLITE3_TEXT: El valor es una cadena de texto, almacenado usando la codificación de la base de datos (UTF-8, UTF-16BE o UTF-16-LE).

  • SQLITE3_BLOB: El valor es de tipo blob, almacenado exactamente a como fue insertado.

  • SQLITE3_NULL: El valor es NULL.

Valores devueltos

Devuelve TRUE si el parámetro es vinculado a la variable de sentencia, FALSE en caso de fallo.

add a note add a note

User Contributed Notes 3 notes

up
0
Anonymous
2 months 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.
up
-3
Cassiano Martin
10 months 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.

eg:

$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);

$data=explode(',','php,sometimes,woofs');

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.

$temp=explode(',','php,sometimes,woofs');
$data[0]=$temp[0];
$data[1]=$temp[1];
$data[2]=$temp[2];
up
-6
Anonymous
3 years ago
Note:

$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