从PHP将日期插入oracle数据库
关于将PHP中的日期插入Oracle数据库,我有一个问题 所以我的PHP中有这个从PHP将日期插入oracle数据库,php,sql,oracle,date,Php,Sql,Oracle,Date,关于将PHP中的日期插入Oracle数据库,我有一个问题 所以我的PHP中有这个 $delivDate = strval($_POST['deliveryDate']); echo $delivDate; //Just for checking $delivInsertionSql = "INSERT INTO DELIVERY (DELIVERY_DATE) VALUES (to_date('".$delivDate ."','MM/DD/YY
$delivDate = strval($_POST['deliveryDate']);
echo $delivDate; //Just for checking
$delivInsertionSql = "INSERT INTO DELIVERY (DELIVERY_DATE)
VALUES (to_date('".$delivDate ."','MM/DD/YYYY hh24:mi:ss'))";
$delivInsertionParse = oci_parse($conn, $delivInsertionSql);
oci_execute($delivInsertionParse);
问题是,我没有在数据库中看到任何新记录。
交货日期的数据类型是
DATE
我猜这是一个日期格式问题,但是您需要有一个oci\u错误语句来暴露任何与sql相关的错误
请参阅此处的oci_执行部分。有几个例子表明,在if语句中使用了oci_execute,这意味着它是一个布尔返回。如果为false,则进入oci_错误代码并暴露您的sql问题
摘自上面的链接以节省您的时间:
<?php
$q = oci_parse($c, "");
if($q != false){
// parsing empty query != false
if(oci_execute($q){
// executing empty query != false
if(oci_fetch_all($q, $data, 0, -1, OCI_FETCHSTATEMENT_BY_ROW) == false){
// but fetching executed empty query results in error (ORA-24338: statement handle not executed)
$e = oci_error($q);
echo $e['message'];
}
}
else{
$e = oci_error($q);
echo $e['message'];
}
}
else{
$e = oci_error($link);
echo $e['message'];
}
?>
几天前,我面临着同样的问题,那就是日期格式问题。所以我改变了日期格式,它对我来说很有用。您可以尝试下面的代码并对其进行测试,如果它有效,则可以根据需要修改代码
$delivDate = date('d-m-Y h:i:s', strtotime($_POST['deliveryDate']));
INSERT INTO DELIVERY (DELIVERY_DATE) VALUES (to_date('".$delivDate."','dd-mm-yy hh24:mi:ss'))";
您正在使用哪个版本的PHP。。。确保提交完成…@narendra其版本5.5.9正常工作,但记录为8/27/0014 8:24:45 AM。但传递的值为[deliveryDate]=>2014年8月27日<代码>代码是这样的,$deliveryDate=strval($\u POST['deliveryDate'])$交货日期=日期('m-d-y h:i:s');在交货(交货日期)值中插入(到交货日期(“$DeliverDate.”,“$MM/DD/YYYY hh24:mi:ss”)您可以将日期更改为$DeliverDate=DATE('d-m-Y h:i:s')。我已经更新了答案,您可以在代码中进行相同的更改。