codecamp

PHP8 cubrid_bind

(PECL CUBRID >= 8.3.0)

cubrid_bind — 将变量作为参数绑定到预准备语句

说明

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

cubrid_bind() 函数用于将值绑定到 SQL 语句中对应的命名或问号占位符 已传递给 cubrid_prepare()。如果未给出,则字符串将是 违约。bind_value_type

注意:如果要绑定的数据类型是 BLOB/CLOB,CUBRID 将尝试映射 数据作为 PHP 流。如果实际绑定值类型不是 stream, CUBRID会将其转换为字符串,并将其用作完整路径和文件 客户机文件系统上的文件名。如果要显式绑定的数据类型是 ENUM,则参数应为字符串格式的 enum 元素。bind_value在 CUBRID 分片环境中,必须包含在 cubrid_bind() 函数。bind_value_type

下表显示了替换值的类型。

CUBRID 绑定日期类型
SupportBind TypeCorresponding SQL Type
SupportedSTRINGCHAR, VARCHAR
 NCHARNCHAR, NVARCHAR
 BITBIT, VARBIT
 NUMERIC or NUMBERSHORT, INT, NUMERIC
 FLOATFLOAT
 DOUBLEDOUBLE
 TIMETIME
 DATEDATE
 TIMESTAMPTIMESTAMP
 OBJECTOBJECT
 ENUMENUM
 BLOBBLOB
 CLOBCLOB
 NULLNULL
Not supportedSETSET
 MULTISETMULTISET
 SEQUENCESEQUENCE

参数 ¶

req_identifier

请求标识符作为 cubrid_prepare() 的结果。

bind_index

绑定参数的位置。它以 1 开头。

bind_value

绑定的实际值。

bind_value_type

要绑定的值的类型。(默认情况下省略。 因此,默认情况下,系统内部使用字符串。但是,您需要 当值为 NCHAR 时,将值的确切类型指定为参数, BIT 或 BLOB/CLOB)。

返回值 

成功时返回 true, 或者在失败时返回 false。

更新日志 

版本说明
8.3.1添加了 BLOB/CLOB 数据类型支持。

示例 

示例 #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 示例

<?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() - 执行准备好的 SQL 语句
  • cubrid_prepare() - 准备要执行的 SQL 语句


PHP8 CUBRID示例
PHP8 cubrid_close_prepare
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }