Дата и время в mysql

Rat

Guest
Есть код:

PHP:
$queryit=@mysql_query("select itemid,name,size,date_format(date,'%d.%m.%Y %H:%i'),comment from items where active='on'");
При выборке (в цикле)
отетот код работает на ура:

PHP:
echo mysql_result($queryit,$i,3);
а вот этот -- нет:

PHP:
echo mysql_result($queryit,$i,'date');
Ошибка: "Warning: date not found in MySQL result index 4 in ..."

В документации и форуме я не нашел примеров. По видимому, после форматирования даты функцией имя меняется? И каково оно становится?
:confused:
 

Demiurg

Guest
select itemid,name,size,date_format(date,'%d.%m.%Y %H:%i') date,comment ....
 

Rat

Guest
Ничего себе оперативность! ;-)

Большое спасибо! Работает.
Как-то это неочевидно. А принцип? После всех функций преобразования надо указывать имя которому присваивается значение? Наверное где-то недочитал мануал по MySQL. :-(
 

RomikChef

Guest
В мануале фореграундом по бэкграунду написано НЕ ИСПОЛЬЗОВАТЬ mysql_result, потому, что это страшно медленно.
использовать надо mysql_fetch_array

А по сути вопроса надо, как сказал демиург, делать алиас, только не забыть дать ему другое имя, отличающееся от имени поля, в случае, если будет сортировка по дате.
 

Demiurg

Guest
Рекордсет, который является результатом запроса, имеет именованые поля. Так вот date - это и будет это самое имя.
 

Rat

Guest
Понял, всем спасибо.
А насчет
В мануале фореграундом по бэкграунду написано НЕ ИСПОЛЬЗОВАТЬ mysql_result, потому, что это страшно медленно. использовать надо mysql_fetch_array
я это читал. ;-)
Только не подумал что это НАСТОЛЬКО медленно. ;-) Показалось удобно. В принципе, для меня это не принципиально. Спасибо за совет. Изменить недолго.
 

RomikChef

Guest
Rat, print_r(mysql_fetch_array($result)) дало бы тебе больше, чем два дня переписки на форуме.

тем более, что ты у нас самостоятельный, "читаешь, но все равно делаешь по-своему".

Логика тоже не будет лишней при решении вопроса. какое поле должно быть результатом функции concat(field1,field2)?
 

Rat

Guest
RomikChef, зачем же так саркастически:
1. Я получил нужный мне результат через 4 минуты после пупликации вопроса. ;) А это или аналогичное (вывести название ключей именнованного массива): "print_r(mysql_fetch_array($result))" я искал в доках, но не нашел. Наверное плохо искал. :(
2. Если сделали функцию mysql_result, значит её можно использовать, а её производительность, это уже другое дело. И читал я РЕКОМЕНДАЦИИ, а как поступать уж воля каждого. За советы я поблагодарил. Искреннее спасибо ещё раз.
3. Логикой я пытался пользоваться. Знаний не хватило.
Пытался сделать так:
PHP:
select itemid,name,size,date=date_format(date,'%d.%m.%Y %H:%i'),comment ...
;)
PS: Я не тупой, я глухой! (с) Анекдот
 
Сверху