我正在尝试从Oracle包调用一个函数,我收到了这个错误:
PHP致命错误:只能通过引用传递变量
这是我的代码:
$connection = $this->getConnection();
if (!$connection){
return null;
}
$s = oci_parse($connection, "begin my_package.my_function(
:param1
); end;");
//getting the error in this following line:
oci_bind_by_name($s, ":param1", "13")
if($result = oci_execute($s)){
....
}
...
我一直在查看其他帖子,但是这些错误似乎与此问题无关。
我在Windows 7计算机上使用PHP 5.5.6而不是IIS 7.5。
这是我的pacakage功能的定义:
FUNCTION my_function(param1 IN VARCHAR2) RETURN CLOB IS
BEGIN
-- etc...
-- etc...
END;
答案 0 :(得分:7)
oci_bind_by_name的第三个参数是通过引用传递的,因此您需要先将它存储在变量中:
$param1 = "13";
oci_bind_by_name($s, ":param1", $param1);