Не удается отсортировать по дате, но аналогично все норммально с другими пунктами

TheRealKos

Новичок
hell0w0rd, у меня есть аналогичный запрос, только с предметом и там все как нужно...
Вот собственно он ($_GET['predmet'] это название предмета, тоже в зависимости от выбора)
PHP:
'SELECT * FROM `files`, `users` WHERE `users`.`type_users` = "Студент" AND `files`.`predmet` = "'.$_GET['predmet'].'" AND `files`.`poluchatel_file`=`users`.`id`'
 

TheRealKos

Новичок
Andkorol, сделал так, но результат тот же:
PHP:
 { echo "Фильтр <br> Период: ".$_GET['year'];
  $year = $_GET["year"];
  $year = mysql_real_escape_string($year);
$resource= mysql_query("SELECT * FROM `files`, `users`  WHERE `users`.`type_users` = 'Студент' AND `files`.`year` = '$year' AND `files`.`poluchatel_file` = `users`.`id` ORDER by `users`.`group`",$db);
}
Вот функция которая использую mysql_real_escape_string
 

hell0w0rd

Продвинутый новичок
TheRealKos, ау, я тебе говорю, ты вместо того, чтобы правильно джойнить данные, делаешь это не верно
Запрос
PHP:
SELECT * FROM files, users ...
аналогичен
PHP:
SELECT * FROM files CROSS JOIN users ...
А должен быть
PHP:
SELECT * FROM files [INNER|LEFT|RIGHT] JOIN users ...
прочитай про джойны
 

c0dex

web.dev 2002-...
Команда форума
Партнер клуба
hell0w0rd,In MySQL, JOIN, CROSS JOIN, and INNER JOIN are syntactic equivalents (they can replace each other).
 

AnrDaemon

Продвинутый новичок
Эм...вот:
PHP:
$resource= mysql_query('SELECT * FROM `files`, `users` WHERE `users`.`type_users` = "Студент" AND `files`.`year` LIKE "%'.$_GET['year'].'%" AND `files`.`poluchatel_file` = `users`.`id` ORDER by `users`.`group`',$db);
$_GET['year'] = '"; DROP DATABASE DATABASE(); --'
Теперь выполняйте запрос...

P.S.
После того, как восстановите БД из бэкапа, расскажите, кто вас научил с датами в БД работать строковыми функциями.
 

hell0w0rd

Продвинутый новичок
c0dex, оказывается если добавить where - все равно, что использовать inner join:( Пошел учить матчасть...
 

artoodetoo

великий и ужасный
multiple queries не прокатит, зато прокатит сделать UNION и подсмотреть то, что смотреть нельзя. много интересного можно.
в интернетах полно лютых школьников, с чужими сриптами для поиска дырок.

просто никогда не подставляйте в запрос неэкранированные данные.
 
Сверху