Я создаю веб-приложение с использованием PHP и Zend Framework, и пытаюсь вставить новую строку в базу данных, используя этот код:PHP Zend_date вставка сейчас() в дб
class PriceWatcher_PriceTable extends Zend_Db_Table_Abstract {
protected $_name = 'price_watcher_price';
public function newPrice($data)
{
$data['tme']=Zend_Date::now();
$this->insert($data);
}}
У меня есть столбец в моей БД называется tme
с форматом datetime
. когда я загрузить этот кусок кода на сервере, он отлично работает, но при попытке запустить локально он хранит
0000-00-00 00:00:00
Я проверил журнал MySQL для запросов и нашел этот запрос:
UPDATE
price_watcher_price
SETtme
= '2014-48-30 10:48:42' WHERE (id
= '40')
Внимательно посмотрите на запрос, вы увидите, что он отправляет minute
вместо month
в строку даты и mysql отклоняет его. И что-то более странное, что когда я echo
его, я получаю это:
30 января 2014 11:07:08 AM
А вот месяц OK.Something важно то, что мой сервер это linux, а моя локальная система - это окна. Где проблема?
Вы хотите вставить или обновить? –
Никакой разницы. Вставки и обновления для даты не сработали. Я нашел решение, и оно работает! – Abadis