代码之家  ›  专栏  ›  技术社区  ›  Valentin Jacquemin

Oracle PL/SQL调用上的PHP数组绑定

  •  1
  • Valentin Jacquemin  · 技术社区  · 15 年前

    我有一个PL/SQL过程,它接受一个类型为NUMBER(10)的表作为输入参数。

    我正在尝试从php调用它绑定没有任何错误,一切都很好但我的装订内容不是我所期望的!

    例如,我绑定一个数组:array(1946519467) 在pl/sql端,我得到这类值:-2.50000000000000000000000000000000E+107

    似乎在精度/长度/类型上发生了错误但我迷路了。

    这是我的装订: oci_bind_array_by_name($stmt,':name',$array,-1,SQLT_NUM);

    1 回复  |  直到 15 年前
        1
  •  0
  •   RadaRada    15 年前

    尝试使用“SQLT_INT”代替“SQLT_NUM”即使整数是数字(38)的同义词,SQLT_NUM也不起作用。

    (来自php错误报告: [2006年10月27日上午8:37UTC]tony2001@php.net 将SQLT_NUM更改为SQLT_INT,它可以正常工作。 这两种绑定类型之间的OCI8没有区别(它们是 以同样的方式由同一个函数处理),因此 OCI库本身的一些差异。)