OCI_BIND_BY_NAME中的小数值参数用于调用Oracle存储过程



阅读

php oci_bind_by_name float到数字

我不能在这样的$ 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中的p6 tos效果(但我想通过小数点值)。

$lmd  = "CALL ajoute_vol(:p1,:p2,:p3,:p4,TO_DATE(:p5,'DD/MM/YYYY HH24:MI'),0,:p7)";

预先感谢

使用

oci_bind_by_name($etat, ':p6', $pduree);

相同问题:警告: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)"

相关内容

最新更新