Я пишу php-скрипт для вставки данных в базу данных Oracle, и я получаю ORA-01861: literal не соответствует строкам формата, когда я пытаюсь запустить его , Это как-то связано с датой, и они так рассчитываются, но я не уверен, как и где ее исправить. В таблице log_date - это дата типа. Ниже приведен раздел кода, с которым я работаю, на дату после того, как я уже установил соединение db. Нужно ли входить в определение моего запроса?php ORA-01861: literal не соответствует строке формата
$ticks = $mnemonic->timestamp . "\n";
$seconds = ($ticks - 621355968000000000)/10000000;
$day = date("Y-m-d H:i:s", $seconds);
$query = "INSERT into TLM_Item(log_date) Values('$day')";
$updt = ociparse($conn, $query);
if(!$updt){
print "No query \n";
exit;
}
$r = ociexecute($updt , OCI_COMMIT_ON_SUCCESS);
Первый вариант не работает, но второй сделал. Комментарии: 1) Typo: во втором варианте «HH: MI: DD» следует сказать «HH: MI: SS» 2) Если вы наберете его, как указано выше, вы получите сообщение об ошибке «ORA-01849: час должно быть от 1 до 12 ". Если вы вместо этого напечатаете «HH24: MI: SS», это сработает. – fcr91
Теперь просто вопрос: если я хочу вставить другие значения в дополнение к дате, просто я использую все выражение «SELECT to_date (« $ day »,« YYYY-MM-DD HH: MI: DD »)) FROM DUAL "в выражении Values () вместе с другими значениями, которые нужно вставить? – fcr91
Кроме того, когда я перехожу в БД для проверки записей, даты отображаются как: 10-JAN-14 без включенного времени. Что заставляет его не появляться? – fcr91