антифлуд

1. Михаил (12.07.2014 / 05:11)
Всем привет! помогите пожалуйста правильно сформулировать запрос к бд.
Нужно 1. просмотреть последнюю строчку в таблице 2. сравнить в ней name=$_post['name'] и msg=$_post['msg'] 3. если совпадение имеется значит выводим 1 если нет 0.
пробовал так
select count(*) from book where name='$_post[name]' and msg='$_post[msg]' order by id desc limit 1
ну из этого не чего не вышло т.к. он просто начинает искать последнее совподение
а мне нужно сравнить именно последнюю строку

2. karpov-ml (12.07.2014 / 07:59)
$q = mysql_query("SELECT * FROM `book` WHERE `name`='".$_post[name]."' and `msg`='".$_post[msg]."' LIMIT 1;");
if (mysql_num_rows($q) > 0)
{
твои функции
}

Только $_POST фильтруй.

3. Михаил (12.07.2014 / 09:17)
это тоже пробовал

Добавлено через 04:46 сек.
получится что он будет искать первое совпадение, даже логически видно

4. юЮЮфюв (12.07.2014 / 09:26)
Deleted

Добавлено через 02:40 сек.
А не проще, например, записывать в сессию дату отправки последнего сообщения и проверять при отправке сообщений, сколько времени прошло?

5. SeReGa1993 (12.07.2014 / 09:56)
если в сообщение пишется время, то перед записью сравнивай сообщения и проверяй время (пару минут от записи) и тогда выводи ошибку

6. karpov-ml (12.07.2014 / 10:18)
Mishutka (12 Июля 2014 / 09:17)
это тоже пробовал

Добавлено через 04:46 сек.
получится что он будет искать первое совпадение, даже логически видно

Пиши время в БД и сверайте по времени тогда.

7. SL@YER (12.07.2014 / 11:00)
$sql = 'SELECT IF(`name`="'.$_post[name].'" AND `msg`="'.$_post[msg].'",1,0) as `result` FROM `book` ORDER by `id` DESC LIMIT 1'
"result" - 0 или 1

8. Михаил (14.07.2014 / 02:24)
7. Слеэр-химера, не прокатило)

9. Кевин Митник (14.07.2014 / 02:56)
8. Mishutka, в вопросе всегда есть кусок ответа)

Алгоритм:
1. Смотрим последнюю строку SELECT MAX(id) FROM book;
2. Сравниваем переменные $name и $msg с соответствующими записями в строке

SELECT * FROM book WHERE id = (SELECT MAX(id) FROM book) AND name = '$name' AND msg = '$msg'

10. Михаил (15.07.2014 / 00:52)
Кевин Митник_HHTeam (14 Июля 2014 / 02:56)
8. Mishutka, в вопросе всегда есть кусок ответа)

Алгоритм:
1. Смотрим последнюю строку SELECT MAX(id) FROM book;
2. Сравниваем переменные $name и $msg с соответствующими записями в строке

SELECT * FROM book WHERE id = (SELECT MAX(id) FROM book) AND name = '$name' AND msg = '$msg'
красавчик! это лучший ответ +1 тебе

URL: https://visavi.net/topics/40980