вставить значение метки времени в моей БД по php - PullRequest
1 голос
/ 15 июня 2010

Я использую 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 ... и скажи, что месяц недействителен

Ответы [ 5 ]

0 голосов
/ 15 июня 2010

Похоже, что Oracle ожидает немного другой формат, '10 -JUN-15 '- дата попытки (' y-M-d H: i: s '). Если время там недействительно, проверьте URL для дополнительных идей: -)

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

0 голосов
/ 15 июня 2010

Попробуйте использовать 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

0 голосов
/ 15 июня 2010

current_timestamp должно работать для вас.

Если MARCA не является полем TIMESTAMP, я предлагаю вам сделать его одним.

  $query = "  INSERT INTO SA_VERSIONE
                    ( ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO)
                    VALUES
                    ('$id', current_timestamp, '$testo', '$firma', '$medico')
        ";
0 голосов
/ 15 июня 2010

Вы можете попробовать:
ВСТАВИТЬ В SA_VERSIONE (ID_ACCETTAZIONE, MARCA_TEMPORALE, TESTO, FIRMA, MEDICO) ЗНАЧЕНИЯ ('$ id', '$ marca', '$ testo', '$ firma', to_date ($ marca), 'гггг / мм / дд чч: ми: сс));

Просмотрите параметры формата to_date.Они должны соответствовать тому, что вы вставляете в то, что ожидает Oracle.

0 голосов
/ 15 июня 2010

Вы пробовали это?

$marca = date('dd-mmm-yyyy H:i:s'); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...