我需要将浮点数绑定到 OCI 语句。
我在做什么:
$price = 0.1
oci_bind_by_name($resource, 'price', $price);
在我的 Oracle DB 中,“价格”是存储过程的一个参数,它的类型是 NUMERIC。
执行我的语句后,我收到以下错误:
消息:oci_execute() [function.oci-execute]: ORA-06502: PL/SQL: numeric or value error: character to number conversion error ORA-06512: at line 1
如果 $price 是整数,则一切正常。在 PHP 文档http://lv.php.net/manual/en/function.oci-bind-by-name.php中,我没有为第五个参数(int $type = SQLT_CHR)找到一个特殊的浮点类型。
找到的答案:我刚刚将操作系统中的十进制符号从“,”更改为“。” 现在一切正常