代码之家  ›  专栏  ›  技术社区  ›  Matteo

通过php在my db中插入时间戳值

  •  1
  • Matteo  · 技术社区  · 15 年前

    我正在使用Oracle Express,在我的应用程序中,我将在表中插入一个时间戳值:

    $marca = date('y-m-d H:i:s');
    
        $query = "  INSERT INTO SA_VERSIONE
                        ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
                        VALUES
                        ('$id', '$marca', '$testo', '$firma', '$medico')
            ";
    
            $stid = oci_parse($conn, $query);
    
            oci_execute($stid);
    

    但执行时返回:

    警告:oci_execute()[函数.oci execute]:ora-01843:中的mese non valido… 说这个月无效

    5 回复  |  直到 15 年前
        1
  •  0
  •   Jacob Relkin    15 年前

    current_timestamp 应该为你工作。

    如果 MARCA 不是时间戳字段,我建议您将其设置为时间戳字段。

      $query = "  INSERT INTO SA_VERSIONE
                        ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
                        VALUES
                        ('$id', current_timestamp, '$testo', '$firma', '$medico')
            ";
    
        2
  •  0
  •   Madhivanan    15 年前

    你试过这个吗?

    $marca = date('dd-mmm-yyyy H:i:s'); 
    
        3
  •  0
  •   Gary    15 年前

    你可以试试:
    插入到sa_版本 (ID_Accetazione、Marca_Temporale、Testo、Firma、Medico) 价值观 ('$id'、'$marca'、'$testo'、'$firma',结束日期($marca,'yyyy/mm/dd hh:mi:ss));

    查看“结束日期”格式选项。它们必须与您插入的内容与Oracle期望的内容相匹配。

        4
  •  0
  •   MSpreij    15 年前

    看起来Oracle希望使用稍有不同的格式,“15年6月10日”-试用日期(“Y-M-D H:I:S”)。如果其中的时间无效,请检查URL以了解更多想法:-)

    http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html

        5
  •  0
  •   Silver Light    15 年前

    试用使用 SYSDATE 而不是用PHP生成时间

    <?php
    $query = "  INSERT INTO SA_VERSIONE
                    ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
                    VALUES
                    ('$id', SYSDATE, '$testo', '$firma', '$medico')
        ";
    
    $stid = oci_parse($conn, $query);
    
    oci_execute($stid);
    ?>
    

    http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/functions172.htm