【问题标题】:Inserting date into oracle database from PHP从PHP将日期插入oracle数据库
【发布时间】:2014-10-20 13:48:04
【问题描述】:

我有一个关于将 PHP 中的日期插入 Oracle DB 的问题

所以我的 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);

问题是,我没有看到数据库中插入了任何新记录。 DELIVERY_DATE的数据类型是DATE

【问题讨论】:

  • 您使用的是哪个版本的 PHP...确保提交完成...
  • @narendra 其版本 5.5.9

标签: php sql oracle date


【解决方案1】:

几天前我遇到了同样的问题,这是日期格式问题。所以我改变了日期格式,它对我有用。您可以尝试下面的代码并测试它是否有效,而不是根据您的需要修改代码。

$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'))";

【讨论】:

  • 它有效,但记录为 8/27/0014 8:24:45 AM。但是传递的值是 [deliveryDate] => 08/27/2014。 CODE IS LIKE THIS, $delivDate = strval($_POST['deliveryDate']); $delivDate = date('m-d-y h:i:s'); INSERT INTO DELIVERY (DELIVERY_DATE) VALUES (to_date('". $delivDate ."','MM/DD/YYYY hh24:mi:ss'))
  • 您可以将日期更改为 $delivDate = date('d-m-Y h:i:s')
  • 我已经更新了答案,您可以在代码中进行相同的更改。
【解决方案2】:

我猜这是日期格式问题,但您需要有一个 oci_error 语句来公开任何与 sql 相关的错误。

请参阅此处的 oci_execute 部分 http://php.net/manual/en/function.oci-execute.php。有几个例子在 if 语句中使用了 oci_execute,暗示它是一个布尔返回。如果它为假,则分叉到 oci_error 代码并暴露你的 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']; 
} 
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多