【问题标题】:insert a time-stamp value in my db by php通过php在我的数据库中插入一个时间戳值
【发布时间】:2010-06-15 14:42:06
【问题描述】:

我正在使用 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() [function.oci-execute]:ORA-01843:mese non valido in ... 并说月份无效

【问题讨论】:

  • Oracle 服务器上的日期格式似乎与 'y-m-d H:i:s' 不同
  • 当我直接从我写的数据库中添加时间戳时。 2010-04-07 12:34:43

标签: php sql timestamp


【解决方案1】:

current_timestamp 应该适合你。

如果MARCA 还不是 TIMESTAMP 字段,我建议您将其设为一个。

  $query = "  INSERT INTO SA_VERSIONE
                    ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
                    VALUES
                    ('$id', current_timestamp, '$testo', '$firma', '$medico')
        ";

【讨论】:

  • 返回:调用未定义函数CURRENT_TIMESTAMP()
【解决方案2】:

你试过了吗?

$marca = date('dd-mmm-yyyy H:i:s'); 

【讨论】:

  • 呃……有吗? “1515-060606-10101010 16:48:05”
  • @MSpreij:我不明白 XD
  • @Erick:见php.net/date,格式输入每个值采用一个字符,因此“Y”变为“2010”。 'yyyy' 变为 10101010。
【解决方案3】:

你可以试试:
插入 SA_VERSIONE ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO) 价值观 ('$id', '$marca', '$testo', '$firma', to_date($marca, 'yyyy/mm/dd hh:mi:ss));

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

【讨论】:

    【解决方案4】:

    看起来 Oracle 需要一个稍微不同的格式,'10-JUN-15' - 尝试日期('y-M-d H:i:s')。如果那里的时间无效,请查看 url 以获取更多想法:-)

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

    【讨论】:

      【解决方案5】:

      尝试使用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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-03-26
        • 2016-07-06
        • 2016-03-06
        • 1970-01-01
        • 2015-05-26
        • 1970-01-01
        • 1970-01-01
        • 2017-04-24
        相关资源
        最近更新 更多