oci_bind_by_name() 将 PHP 变量
variable
绑定到 Oracle 的位置标志符
ph_name
。该变量是否会被用作输入输出是在运行时决定的,并且函数给该变量分配必要的存储空间。length
参数确定该绑定的最大长度,如果将 length
设为 -1,oci_bind_by_name() 会用
variable
变量的当前长度确定绑定的最大长度。
如果要绑定一个抽象数据类型(LOB/ROWID/BFILE),需要先用
oci_new_descriptor() 函数分配空间。length
没有用于抽象数据类型,应被设为 -1。type
参数告诉 Oracle 要使用什么样的描述符。可能的值为:
SQLT_FILE - 对应于 BFILE;
SQLT_CFILE - 对应于 CFILE;
SQLT_CLOB - 对应于 CLOB;
SQLT_BLOB - 对应于 BLOB;
SQLT_ROWID - 对应于 ROWID;
SQLT_NTY - 对应于有名字的数据类型;
SQLT_INT - 对应于 integers;
SQLT_CHR - 对应于 VARCHARs;
SQLT_BIN - 对应于 RAW 列;
SQLT_LNG - 对应于 LONG 列;
SQLT_LBI - 对应于 LONG RAW 列;
SQLT_RSET - 对应于游标,是之前由 oci_new_cursor() 创建的。
记住,本函数删除了行尾的空白字符。见以下例子:
例 2. oci_bind_by_name() 例子
|
例 3. oci_bind_by_name() 例子
|
警告 |
不要将 magic_quotes_gpc 或 addslashes() 与 oci_bind_by_name() 同时使用,因为不需要转义,任何自动加上的引号都会被写入数据库中,因为 oci_bind_by_name() 不能分辨有意加上的引号和魔术引号。 |
如果成功则返回 TRUE,失败则返回 FALSE。
注意: 在 PHP 5.0.0 之前的版本必须使用 ocibindbyname() 替代本函数。该函数名仍然可用,为向下兼容作为 oci_bind_by_name() 的别名。不过其已被废弃,不推荐使用。