Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从PHP将日期插入oracle数据库_Php_Sql_Oracle_Date - Fatal编程技术网

从PHP将日期插入oracle数据库

从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

关于将PHP中的日期插入Oracle数据库,我有一个问题

所以我的PHP中有这个

$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')。我已经更新了答案,您可以在代码中进行相同的更改。