我正在使用php 7,并调用plsql程序并将post参数传递给它。下面的代码将0传递给过程。
@oci_bind_by_name($stmt, ":py", trim($_POST["py"]), -1);
但是当我更改下面的代码时,它会传递post参数的值。
$trimmed = trim($_POST["py"]);
@oci_bind_by_name($stmt, ":py", $trimmed, -1);
有人可以解释原因吗?
答案 0 :(得分:3)
根据docs:
bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )
// ^^^^^^^^^^^^^^^^
正如您所见oci_bind_by_name
期望第三个参数作为参考传递,而在第一个案例中,您将按值传递