阅读
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)"