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
Форумы портала PHP.SU :: Версия для печати :: Правильный запрос в БД
Форумы портала PHP.SU » » Работа с СУБД » Правильный запрос в БД

Страниц (1): [1]
 

1. new01 - 03 Июня, 2011 - 13:01:04 - перейти к сообщению
Скажите,просто хочу проверить,запрос будет правильным ?

PHP:
скопировать код в буфер обмена
  1.  
  2. $resultste = mysql_query("SELECT * FROM Event WHERE Nameevent='Friend' AND Namereason='$Nameuser' AND Nametaker='$t' OR Namereason='$t' AND Nametaker='$Nameuser' ");
  3.  
  4.  
2. molchun201 - 03 Июня, 2011 - 13:05:22 - перейти к сообщению
Запрос правильный, но лучше вместо * писать все поля, так лучше по безапосности

PHP:
скопировать код в буфер обмена
  1. mysql_query("SELECT Nameevent, Namereason, Nametaker FROM Event WHERE Nameevent='Friend' AND Namereason='$Nameuser' AND Nametaker='$t' OR Namereason='$t' AND Nametaker='$Nameuser' ");
3. EuGen - 03 Июня, 2011 - 13:15:50 - перейти к сообщению
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'))

 

Powered by ExBB FM 1.0 RC1