@matthewstafford

Вывод даты в нужном виде. Как сделать?

Сделал такой запрос к базе данных MySQL

$sql = "SELECT DATE_FORMAT('reg_date', '%d.%m.%Y') 
	      AS `date_formated`
	      FROM `accounts`
	      WHERE `username` = '$username'
       ";
$res = mysql_query($sql) or die (mysql_error());

echo $res['date_formated'];


Но это ничего не выводит... Как исправить и в чём проблема?
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
@AlikDex
форматировать дату скриптом.
$sql = "SELECT `date`
        FROM `accounts`
        WHERE `username` = '$username'
       ";
$res = mysql_query($sql) or die (mysql_error());

$date = new DateTime($res['date']);
echo $date->format('d.m.Y');
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
skobkin
@skobkin
Гентушник, разработчик на PHP и Symfony.
Если абстрагироваться от того, что вы используете для работы с MySQL deprecated-расширение и не используете prepared statements, то проблема ваша как минимум в том, что вы не читали документацию:
php.net/manual/ru/function.mysql-query.php
Для запросов SELECT, SHOW, DESCRIBE, EXPLAIN и других запросов, возвращающих результат из нескольких рядов, mysql_query() возвращает дескриптор результата запроса (resource), или FALSE в случае ошибки.


Вы получили дескриптор и пытаетесь с ним работать как с массивом.
Ответ написан
Комментировать
@profispb
Программист.
Сделал такой запрос к базе данных MySQL

$sql = "SELECT DATE_FORMAT('reg_date', '%d.%m.%Y')
AS `date_formated`
FROM `accounts`
WHERE `username` = '$username'
";
$res = mysql_query($sql) or die (mysql_error());

echo $res['date_formated'];

Исправляем date_formated на reg_date. Видимо в MySQL синтаксисе не особо разобрались!
****************************
В итоге код будет:
$sql = "SELECT DATE_FORMAT('reg_date', '%d.%m.%Y')
AS `reg_date`
FROM `accounts`
WHERE `username` = '".$username."'
";
$res = mysql_query($sql) or die (mysql_error());

echo $res['reg_date'];
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы