以下绑定无效?它可以防止先前输出的事件。
oci_bind_by_name($stid, ':CONTRACT', 'BC');
oci_bind_by_name($stid, ':TAX_REGIME_DB', 'VAT');
以下是工作
$contract = 'BC';
$vat = 'VAT';
oci_bind_by_name($stid, ':CONTRACT', $contract);
oci_bind_by_name($stid, ':TAX_REGIME_DB', $vat);
请有人告诉我有什么区别吗?
答案 0 :(得分:3)
oci_bind_by_name()
期望变量引用作为其第三个参数,因此您的静态字符串值不是有效参数。您必须绑定变量作为第三个参数。这就是你的第二个例子确实有用的原因。
您需要将字符串放入变量并将其绑定,就像在第二种情况下一样。
bool oci_bind_by_name ( resource $statement , string $bv_name , mixed &$variable [, int $maxlength = -1 [, int $type = SQLT_CHR ]] )
我建议启用错误报告并启用display_errors
。您可能应该看到关于期望引用的参数的警告。始终在开发中这样做:
; In php.ini
error_reporting = E_ALL
display_errors = On
// Or at runtime
error_reporting(E_ALL);
ini_set('display_errors', 1);