антифлуд
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