cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bindBind variables to a prepared statement as parameters

说明

cubrid_bind ( resource $req_identifier , int $bind_index , mixed $bind_value [, string $bind_value_type ] ) : bool

The cubrid_bind() function is used to bind values to a corresponding named or question mark placeholder in the SQL statement that was passed to cubrid_prepare(). If bind_value_type is not given, string will be the default.

Note:

If the type of data to be bound is BLOB/CLOB, CUBRID will try to map the data as a PHP stream. If the actually bind value type is not stream, CUBRID will convert it to string, and use it as the full path and file name of a file on the client filesystem.

If the type of data to be bound explicitly is ENUM, the $bind_value argument should be the enum element which is in string format.

In CUBRID shard envrioment, the $bind_value_type must be included in the cubrid_bind function.

The following table shows the types of substitute values.

CUBRID Bind Date Types
Support Bind Type Corresponding SQL Type
Supported STRING CHAR, VARCHAR
  NCHAR NCHAR, NVARCHAR
  BIT BIT, VARBIT
  NUMERIC or NUMBER SHORT, INT, NUMERIC
  FLOAT FLOAT
  DOUBLE DOUBLE
  TIME TIME
  DATE DATE
  TIMESTAMP TIMESTAMP
  OBJECT OBJECT
  ENUM ENUM
  BLOB BLOB
  CLOB CLOB
  NULL NULL
Not supported SET SET
  MULTISET MULTISET
  SEQUENCE SEQUENCE

参数

req_identifier

Request identifier as a result of cubrid_prepare().

bind_index

Location of binding parameters. It starts with 1.

bind_value

Actual value for binding.

bind_value_type

A type of the value to bind. (It is omitted by default. Thus, the system internally uses string by default. However, you need to specify the exact type of the value as an argument when they are NCHAR, BIT, or BLOB/CLOB).

返回值

TRUE, when process is successful.

FALSE, when process is unsuccessful.

更新日志

版本 说明
8.3.1 Added BLOB/CLOB data types support.

范例

Example #1 cubrid_bind() example

<?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($resultCUBRID_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_req1$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_reqCUBRID_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_req1$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);
?>

以上例程会输出:

--- 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

Example #2 cubrid_bind() BLOB/CLOB example

<?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($req1$fp"clob"); 
    
cubrid_execute($req);  
}
?>

Example #3 cubrid_bind() BLOB/CLOB example

<?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 (image BLOB)");
    
$sql "INSERT INTO php_cubrid_lob_test(image) VALUES(?)"
    
$req cubrid_prepare($con$sql); 

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

参见

相关文章
php cubrid mysql 兼容性函数 return the number of rows affected by the last sql statementphp cubrid 函数 bind variables to a prepared statement as parametersphp cubrid 函数 execute a prepared sql statementphp cubrid 函数 bind a lob object or a string as a lob object to a prepared statement as parametersphp cubrid 函数 prepare a sql statement for executionphp cubrid mysql 兼容性函数 escape special characters in a string for use in an sql statementphp ibm db2 函数 executes a prepared sql statementphp firebird/interbase 函数 return the number of parameters in a prepared queryphp maxdb 函数 binds variables to a prepared statement as parametersphp maxdb 函数 binds variables to a prepared statement for result storagephp maxdb 函数 fetch results from a prepared statement into the bound variablesphp maxdb 函数 returns result set metadata from a prepared statementphp maxdb 函数 transfers a result set from a prepared statementphp mysql xdevapi 函数 bind prepared statement variables as parametersphp postgresql 函数 sends a request to execute a prepared statement with given parameters and waits for the resultphp postgresql 函数 submits a request to create a prepared statement with the given parameters and waits for completionphp postgresql 函数 sends a request to execute a prepared statement with given parameters without waiting for the result s php postgresql 函数 sends a request to create a prepared statement with the given parameters without waiting for completionphp mysqli stmt binds variables to a prepared statement as parametersphp mysqli stmt fetch results from a prepared statement into the bound variables
关注编程学问公众号