Подтвердить что ты не робот

Преобразование строки в формат timestamp MySQL в php

Я пишу запрос в php, используя строку, отправленную из приложения для Android android.
Запрос выглядит примерно так:

$insertSQL = sprintf("INSERT INTO app_DuckTag (taste) VALUES (%s) WHERE species=%s AND timestamp=%s",
                         GetSQLValueString($_POST['taste'], "text"),
                         GetSQLValueString($_POST['species'], "text"),
                         GetSQLValueString($_POST['timestamp'], "text"));

Но я сомневаюсь, что timestamp хранится как строка внутри MySQL.
Как преобразовать формат строки в формат времени, как в MySQL?
Функция strtotime (string) php преобразует ее в unix-время.
Но MySQL хранит его по-другому, я думаю. Спасибо.

EDIT: так выглядит в MySQL phpmyadmin: 2011-08-16 17:10:45

EDIT: Мой запрос неверен. Cannon использует предложение where с Insert into.
Запрос должен быть UPDATE.... SET... =... ГДЕ....
Но принятый ответ - правильный способ использовать время внутри предложения WHERE.

4b9b3361

Ответ 1

Это должно быть все:

date("Y-m-d H:i:s", strtotime($_POST['timestamp']));

если вы хотите проверить часовые пояса, и вы должны использовать strftime вместо даты

Ответ 2

Если вы можете получить ввод "string" (который вы не предоставили формат, который вы получаете) в значение временной метки Unix, вы можете легко преобразовать его в формат даты и времени MySQL, например:

$mysqldatetime = date("Y-m-d H:i:s", $unixTimeStampValue);

Это создаст строку , похожую на следующее:

2011-08-18 16:31:32

Каков формат формата даты и времени MySQL. Если вы используете другой формат времени, тогда первый аргумент функции date будет отличаться.

Подробнее см. руководство для date для получения дополнительной информации и других способов форматирования возвращаемого значения.

Edit

Вы получаете строку, форматированную в формате MySQL datetime. После его очистки вы можете вставить его непосредственно в базу данных. Для MySQL это может быть тип данных "datetime", но для PHP это просто строка (как и весь ваш SQL-запрос - это не что иное, как строка для PHP).

$timestamp = mysql_real_escape_string($_POST['timestamp']);

Вы должны быть в состоянии безопасно вставить это в свою базу данных для поля timestamp.

Ответ 3

В mysql есть функция FROM_UNIXTIME. Почему бы вам не использовать его?