• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Mysql запрос

  • Автор темы max787
  • Дата начала
M

max787

Подскажите пожалуйста.
У меня в таблице mysql есть столбец с форматом datatime и названием data. Таблица называется plan (id,name, data, user).

Когда в запросе в mysql или в php я пишу select * from plan; Выводится вся информация таблицы.

Но мне надо вывести datatime в виде числа, месяца, года, часов и минут, без секунд! Для этого использую DATE_FORMAT(data,'%d

%m %Y %H %i').

т.е когда в mysql ввожу запрос:
select id, name, DATE_FORMAT(data,'%d %m %Y %H %i'), user from plan; все выводится нормально.



НО через php не получается.
Создаю запрос:

$query = "select id, name, DATE_FORMAT(data,'%d %m %Y %H %i'), user from plan";
$result = mysql_query($query);
$num_results = mysql_num_rows($result);

for ($i=0; $i <$num_results; $i++){
$row = mysql_fetch_array($result);

echo '<tr>';
echo '<td>';
echo stripslashes($row['id']);
echo '</td>';

echo '<td>';
echo stripslashes($row['name']);
echo '</td>';

echo '<td>';
echo stripslashes($row['data']);
echo '</td>';

echo '<td>';
echo stripslashes($row['user']);
echo '</td>';
echo '</tr>';

}

Выводятся все массивы кроме data, там поле в таблице пустое.
Что с этим можно зделать?
Почему Mysql все выводит прекрасно, а php не может?
 
M

Maniacosaur

Дело в том, что когда ты применяешь в запросе функцию форматирования даты, то поле в результате выполнения запроса уже не data.
Т.е. пиши сначала
$query = "select id, name, DATE_FORMAT(data,'%d %m %Y %H %i') as data_, user from plan";

а затем
echo '<td>';
echo stripslashes($row['data_']);
echo '</td>';


ЗЫ: Все чисто логические умозаключения, поскольку с MySQL и PHP практически не работал, за то дохрена работал с MS SQL
 
M

max787

Дело в том, что когда ты применяешь в запросе функцию форматирования даты, то поле в результате выполнения запроса уже не data.
Т.е. пиши сначала
$query = "select id, name, DATE_FORMAT(data,'%d %m %Y %H %i') as data_, user from plan";

а затем
echo '<td>';
echo stripslashes($row['data_']);
echo '</td>';
ЗЫ: Все чисто логические умозаключения, поскольку с MySQL и PHP практически не работал, за то дохрена работал с MS SQL


Спасибо. Работает
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!