Дата PHP в базе данных MySQL не работает, как запланировано - PullRequest
1 голос
/ 06 июня 2011

Так что я пытаюсь решить эту проблему самостоятельно в течение нескольких часов, и это сводит меня с ума.

Я просто пытаюсь поместить дату в базу данных MySQL, код выглядит такthis:

$timeStarted = date("Y-m-d H:i:s", time());
$sqlquery = "INSERT INTO deviceStats (currTime, ...) VALUES ($timeStarted, ...)";
mysql_query($sqlquery);
echo $timeStarted;

Мой возврат ajax говорит мне, что $ timeStarted находится в формате propper, он дает правильное время, но если у меня есть одна переменная в моем запросе, он не запустится.в поле currTime в БД установлено значение datetime, поэтому оно должно работать.

Ответы [ 2 ]

3 голосов
/ 06 июня 2011

Почему бы просто не использовать NOW ()?

$sqlquery = "INSERT INTO deviceStats (currTime, ...) VALUES (NOW(), ...);
2 голосов
/ 06 июня 2011

Ваша проблема в том, что строки даты в MySQL - это именно то, что строки и поэтому должны либо заключаться в кавычки (одинарные кавычки), либо, предпочтительно, передаваться как параметры.

Используя PDO, это было бы довольно просто

$stmt = $pdo->prepare('INSERT INTO `deviceStats` (`currTime`, ...) VALUES (?, ...)');
$ts = date('Y-m-d H:i:s');
$stmt->bindParam(1, $ts);
$stmt->execute();
echo $ts;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...