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 要使用什么样的描述符。可能的值为:
OCI_B_FILE - 对应于 BFILE;
OCI_B_CFILE - 对应于 CFILE;
OCI_B_CLOB - 对应于 CLOB;
OCI_B_BLOB - 对应于 BLOB;
OCI_B_ROWID - 对应于 ROWID;
OCI_B_NTY - 对应于有名字的数据类型;
OCI_B_CURSOR - 对应于游标,是之前由 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() 的别名。不过其已被废弃,不推荐使用。