Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Правильный запрос в БД
$resultste=mysql_query("SELECT * FROM Event WHERE Nameevent='Friend' AND Namereason='$Nameuser' AND Nametaker='$t' OR Namereason='$t' AND Nametaker='$Nameuser' ");
----- new01
molchun201
Отправлено: 03 Июня, 2011 - 13:05:22
Посетитель
Покинул форум
Сообщений всего: 295
Дата рег-ции: Февр. 2011 Откуда: Менеск
Помог: 5 раз(а)
Запрос правильный, но лучше вместо * писать все поля, так лучше по безапосности
mysql_query("SELECT Nameevent, Namereason, Nametaker FROM Event WHERE Nameevent='Friend' AND Namereason='$Nameuser' AND Nametaker='$t' OR Namereason='$t' AND Nametaker='$Nameuser' ");
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
0.
molchun201 пишет:
лучше по безапосности
Не безопасности, а ресуркоемкости
1. Используйте функции экранирования для защиты передаваемых к БД запросов: http://php.su/functions/?mysql_r...al_escape_string
2. Думаю, так корректнее (хотя зависит от логики, нужной Вам):
WHERE Nameevent='Friend' AND ((Namereason='$Nameuser' AND Nametaker='$t') OR (Namereason='$t' AND Nametaker='$Nameuser'))
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.