2017-01-29 3 views
-1

Я получаю дату и время по HTTP GET и пытаюсь написать php-код, чтобы вставить их в базу данных MYSQL, но получить ошибку.Ошибка при вводе даты и времени в MYSQL

Мой дата и время прихода, как это: дата = 260117 время = 180205,000

$year= "20" . substr($date, 4,2); 
$month= substr($date, 2,2); 
$day= substr($month, 0,2); 
$dateformatted= $year . "-" . $month. "-" . $day; 

$hour= substr($time, 0,2) + 3; 
$min = substr($time, 2,2); 
$sec = substr($time, 4,2); 
$timeformatted = $hour . ":" . $min . ":" . $sec; 

$datetime = $dateformatted . " " . $timeformatted; 
$datetime = strtotime($datetime); 

Моя ошибка такова:

You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '21:02:05)' at line 2

SQL:

$sql = "INSERT INTO pt_position (date) VALUES ($datetime)"; 
+1

синтаксис Что SQL? –

+0

$ sql = "INSERT INTO pt_position (date) VALUES ($ datetime)"; – John

+0

Попробуйте удалить последнюю строку? – bugscoder

ответ

0

Удалите эту строку.

$datetime = strtotime($datetime); 

Если вы запустите эту строку, возвращаемое значение будет значением типа DateTime в PHP.

$datetime = $dateformatted . " " . $timeformatted; 

После этого кода, вы можете выполнить запрос SQL ....

+0

@ Star-Man Все еще дает ошибку Ошибка: INSERT INTO pt_position (unit_id, lat, lon, speed_km, deg, datetime) VALUES (3, 40.714505, 29.785826, 1234, 1, 2017-01-26 21:02:05) У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии сервера MariaDB, для правильного синтаксиса для использования рядом с '21: 02: 05) 'в строке 2 – John

+0

добавьте строку кавычек, например INTO pt_position (unit_id, lat, lon, speed_km, deg, datetime) VALUES (3, 40.714505, 29.785826, 1234, 1, '2017-01-26 21:02:05') –

+0

Попробуйте? Если у вас нет ошибок, вы должны принять мой ответ ... или если возникла ошибка, обратите внимание на то, что ошибки. Спасибо ..... –

Смежные вопросы