|
cubrid_bind
Bind variables to a prepared statement as parameters
説明
bool cubrid_bind( resource $req_identifier , int $bind_index , mixed $bind_value , string $bind_value_type = ? )
注意:
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 を、失敗した場合に false を返します。
例
例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($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);
?>
--- 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
例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($req, 1, $fp, "clob");
cubrid_execute($req);
}
?>
例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($req, 1, "cubrid_logo.png", "blob");
cubrid_execute($req);
}
?>
参考
- cubrid_execute
- cubrid_prepare
|