阅读
php oci_bind_by_name float to numeric
我不能在$ p6变量中使用十进制值,如:
$lmd = "CALL ajoute_vol(:p1,:p2,:p3,:p4,TO_DATE(:p5,'DD/MM/YYYY HH24:MI'),:p6,:p7)";
...
$pduree = round(1.2/24,2); // 1h12 min
...
print "</p>duree : ". $pduree;
oci_bind_by_name($etat, ':p6', $pduree,-1, SQLT_NUM);
...
print "</p>duree : ". $pduree;
oci_execute ($etat, OCI_NO_AUTO_COMMIT); // COMMIT est dans la procédure
...
结果是1 / $ pduree似乎设置为0,但在调用中这不是零传递。
duree : 0.05
duree : 0
如果我在调用中将:p6设置为0可以正常工作(但我希望传递小数值)。
$lmd = "CALL ajoute_vol(:p1,:p2,:p3,:p4,TO_DATE(:p5,'DD/MM/YYYY HH24:MI'),0,:p7)";
提前致谢
答案 0 :(得分:0)
使用
id === 1
答案 1 :(得分:0)
相同问题:警告:oci_execute():ORA-01722 解决方案是在准备语句中包含微积分:
"CALL ajoute_vol(:p1,:p2,:p3,:p4,TO_DATE(:p5,'DD/MM/YYYY HH24:MI'), ROUND((:p6+:p7/100)/24,2), :p8)"