Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Странности в запросе или функция date и MySQL, не как не могу понять  
V
    Опции темы
Папараццы
Дата 22.10.2007, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Есть что то вроде этого 
Код

$date=date("Y-m-d");
echo "<br>".$date;
$query="INSERT INTO event('date') VALUES ('".$date."') ";  //-> На исполнение
 
 Так значит date у меня в формате date в MySQL. Вывод echo 2007.10.22! 
при вводе ..VALUES ('2007-10-22')  почему то все работает. В чем ошибка ? 
 Не работает.. Не понять почему :(
 


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
flashaa
Дата 22.10.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



Текст ошибки в студию.
PM MAIL   Вверх
Папараццы
Дата 22.10.2007, 13:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Ругается что '' is incorrect date format


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
mishaSL
Дата 22.10.2007, 13:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54



Цитата(Папараццы @  22.10.2007,  07:16 Найти цитируемый пост)
Вывод echo 2007.10.22! 

По всей видимости должно выводить: 2007-10-22

А не проще сделать так:
Код

$query="INSERT INTO event('date') VALUES (NOW()) ";


Если не работает, то уточните какой тип поля date.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
Папараццы
Дата 22.10.2007, 13:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Так работает... раьотает если даже вписать дате. date("Y-m-d"); А так не работает :( 


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
mishaSL
Дата 22.10.2007, 14:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 7
Всего: 54



Цитата(Папараццы @  22.10.2007,  13:58 Найти цитируемый пост)
А так не работает :(  

Выведи полностью обработанный SQL запрос который уже идет в БД.


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
dsCode
Дата 22.10.2007, 14:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 565
Регистрация: 8.9.2007
Где: Saint-Petersburg

Репутация: 1
Всего: 26



Папараццы, да и не будет работать, потому что формат данных в MySQL для даты через тире. Так что, либо через DATE(NOW()) (SQL), либо через date("Y-m-d"); (PHP).


--------------------
the .code inside
:my music
PM MAIL WWW ICQ Jabber   Вверх
Папараццы
Дата 22.10.2007, 14:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



С "-" тоже самое... с точками тоже работает... 


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
sTa1kEr
Дата 23.10.2007, 08:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


9/10 программиста
***


Профиль
Группа: Завсегдатай
Сообщений: 1553
Регистрация: 21.2.2007

Репутация: 9
Всего: 146



Цитата(Папараццы @  22.10.2007,  08:16 Найти цитируемый пост)
$query="INSERT INTO event('date') VALUES ('".$date."') ";

Имена полей нужно обрамлять обратными апострофами, а не кавычками.
Код

$query="INSERT INTO event(`date`) VALUES ('".$date."')";


Цитата(dsCode @  22.10.2007,  15:38 Найти цитируемый пост)
Папараццы, да и не будет работать, потому что формат данных в MySQL для даты через тире.

Зачем же гадать на кофейной гуще, когда есть полная документация? The DATETIME, DATE, and TIMESTAMP Types
Цитата

 You can specify DATETIME, DATE, and TIMESTAMP values using any of a common set of formats:

    * As a string in either 'YYYY-MM-DD HH:MM:SS' or 'YY-MM-DD HH:MM:SS' format. A “relaxed” syntax is allowed: Any punctuation character may be used as the delimiter between date parts or time parts. For example, '98-12-31 11:30:45', '98.12.31 11+30+45', '98/12/31 11*30*45', and '98@12@31 11^30^45' are equivalent.
    * As a string in either 'YYYY-MM-DD' or 'YY-MM-DD' format. A “relaxed” syntax is allowed here, too. For example, '98-12-31', '98.12.31', '98/12/31', and '98@12@31' are equivalent.
    * As a string with no delimiters in either 'YYYYMMDDHHMMSS' or 'YYMMDDHHMMSS' format, provided that the string makes sense as a date. For example, '19970523091528' and '970523091528' are interpreted as '1997-05-23 09:15:28', but '971122129015' is illegal (it has a nonsensical minute part) and becomes '0000-00-00 00:00:00'.
    * As a string with no delimiters in either 'YYYYMMDD' or 'YYMMDD' format, provided that the string makes sense as a date. For example, '19970523' and '970523' are interpreted as '1997-05-23', but '971332' is illegal (it has nonsensical month and day parts) and becomes '0000-00-00'.
    * As a number in either YYYYMMDDHHMMSS or YYMMDDHHMMSS format, provided that the number makes sense as a date. For example, 19830905132800 and 830905132800 are interpreted as '1983-09-05 13:28:00'.
    * As a number in either YYYYMMDD or YYMMDD format, provided that the number makes sense as a date. For example, 19830905 and 830905 are interpreted as '1983-09-05'. 



Это сообщение отредактировал(а) sTa1kEr - 23.10.2007, 08:49
PM MAIL   Вверх
Папараццы
Дата 23.10.2007, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 475
Регистрация: 18.9.2006
Где: Баку

Репутация: нет
Всего: нет



Дело в том что сам запрос выводился не правильноюю Проблема не в MySQL а в могем PHP скрипте была...  Я в начале скрипта проверял на наличие ввода данных в поля... Так в поле дате я вместо == вписал ="" . Народ извените! Всем благодарен! 


--------------------
/*---------------------------------------------------------------------------------*/
PM MAIL WWW ICQ MSN   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.