【问题标题】:PHP OCI_BIND_BY_NAME NOT WORKINGPHP OCI_BIND_BY_NAME 不工作
【发布时间】:2014-02-20 14:02:15
【问题描述】:

以下绑定不起作用?它可以防止事件之前的输出。

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

谁能告诉我有什么区别?

【问题讨论】:

    标签: php bind oracle-call-interface


    【解决方案1】:

    oci_bind_by_name() 期望 变量引用 作为其第三个参数,因此您的静态字符串值不是有效参数。您必须将变量绑定为第三个参数。这就是为什么您的第二个示例确实有效的原因。

    您需要将字符串放入变量中并像在第二种情况下那样绑定它们。

    The function prototype:

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

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-27
    • 2019-11-13
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多