我正在使用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 ... 并说月份无效
答案 0 :(得分:0)
你试过这个吗?
$marca = date('dd-mmm-yyyy H:i:s');
答案 1 :(得分:0)
current_timestamp
应该适合你。
如果MARCA
不是TIMESTAMP字段,我建议您将其设为一个。
$query = " INSERT INTO SA_VERSIONE
( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
VALUES
('$id', current_timestamp, '$testo', '$firma', '$medico')
";
答案 2 :(得分:0)
您可以尝试:
插入SA_VERSIONE
(ID_ACCETTAZIONE,MARCA_TEMPORALE,TESTO,FIRMA,MEDICO)
VALUES
('$ id','$ marca','$ testo','$ firma',to_date($ marca,'yyyy / mm / dd hh:mi:ss));
查看to_date格式选项。它们必须与您所插入的内容相匹配。
答案 3 :(得分:0)
尝试使用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
答案 4 :(得分:0)
看起来Oracle希望格式略有不同,'10 -JUN-15' - 尝试日期('y-M-d H:i:s')。如果时间在那里无效,请查看网址以获取更多想法: - )
http://infolab.stanford.edu/~ullman/fcdb/oracle/or-time.html