繁体   English   中英

PHP OCI_BIND_BY_NAME无法正常工作

[英]PHP OCI_BIND_BY_NAME NOT WORKING

以下绑定无效? 它可以防止先前输出的事件。

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);

请有人告诉我有什么区别吗?

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM