cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bindVincular variables para una sentencia preparada como parámetros

Descripción

cubrid_bind(
    resource$req_identifier,
    int$bind_index,
    mixed$bind_value,
    string$bind_value_type = ?
): bool

La función cubrid_bind() se usa para vincular valores a un marcador de posición nominado o signo de interrogación correspondiente en la sentencia SQL que fue pasada a cubrid_prepare(). Si no se da bind_value_type, string será lo predeterminado.

Nota:

Si el tipo de datos a ser vinculados es BLOB/CLOB, CUBRID intentará mapear la información como un flujo de PHP. Si el tipo real de valor vinculado no es un flujo, CUBRID intentará convertirlo a cadena, y usarlo como la ruta completa y el nombre de fichero de un fichero del sistema de ficheros cliente.

Si el tipo de datos a ser vinculados explícitamente es ENUM, el argumento $bind_value debería ser el elemento enum que esté en formato string.

En un entorno fragmentado de CUBRID, se debe incluir de $bind_value_type en la función cubrid_bind function.

La siguiente tabla muestra los tipos de los valores sustitutos.

Tipos de Datos de Vinculación de CUBRID
SoporteTipo de VinculaciónTipo SQL Correspondiente
SoportadoSTRINGCHAR, VARCHAR
 NCHARNCHAR, NVARCHAR
 BITBIT, VARBIT
 NUMERIC or NUMBERSHORT, INT, NUMERIC
 FLOATFLOAT
 DOUBLEDOUBLE
 TIMETIME
 DATEDATE
 TIMESTAMPTIMESTAMP
 OBJECTOBJECT
 ENUMENUM
 BLOBBLOB
 CLOBCLOB
 NULLNULL
No soportadoSETSET
 MULTISETMULTISET
 SEQUENCESEQUENCE

Parámetros

req_identifier

Identificador de solicitud como resultado de cubrid_prepare()

bind_index

Índice de ubicación de los parámetros de vinculación. Comienza con 1.

bind_value

Valor actual para el vínculo.

bind_index

Un tipo de valor a vincular. (Es omitido por defecto. Así, el sistema internamente usa una cadena por omisión. Sin embargo, se necesita especificar el tipo exacto del valor como argumento cuando son de tipo NCHAR, BIT, o BLOB/CLOB).

Valores devueltos

true, cuando el proceso tiene éxito.

false, cuando el proceso no tiene éxito.

Historial de cambios

VersiónDescripción
8.3.1 Añadido el soporte para tipos de datos BLOB/CLOB.

Ejemplos

Ejemplo #1 Ejemplo de cubrid_bind()

<?php
$conn
= cubrid_connect("localhost", 33000, "demodb", "dba");

$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];

cubrid_close_request($result);

$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);

printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while (
$athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
$athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
cubrid_execute($athlete_req);
$row = cubrid_fetch_assoc($athlete_req);
printf("%s\n", $row["name"]);
}

cubrid_close_request($game_req);
cubrid_close_request($athlete_req);

cubrid_disconnect($conn);
?>

El resultado del ejemplo sería:

--- Dream Team (1992 United States men's Olympic basketball team) --- Stockton John Robinson David Pippen Scottie Mullin C. Malone Karl Laettner C. Jordan Michael Johnson Earvin Ewing Patrick Drexler Clyde Bird Larry Barkley Charles

Ejemplo #2 Ejemplo de BLOB/CLOB de cubrid_bind()

<?php
$con
= cubrid_connect("localhost", 33000, "demodb", "dba", "");
if (
$con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
$req = cubrid_prepare($con, $sql);

$fp = fopen("book.txt", "rb");

cubrid_bind($req, 1, $fp, "clob");
cubrid_execute($req);
}
?>

Ejemplo #3 Ejemplo de BLOB/CLOB de cubrid_bind()

<?php
$con
= cubrid_connect("localhost", 33000, "foo");
if (
$con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
$req = cubrid_prepare($con, $sql);

cubrid_bind($req, 1, "cubrid_logo.png", "blob");
cubrid_execute($req);
}
?>

Ver también

To Top