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
Форумы портала PHP.SU » » Вопросы новичков » Вопро по php

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

1. Artix - 01 Февраля, 2018 - 22:40:15 - перейти к сообщению
Есть кусок кода в котором выбираем пользователя и его данные
PHP:
скопировать код в буфер обмена
  1.  
  2. $user = mysql_query("SELECT * FROM users WHERE users_id = '".abs(intval($_COOKIE['id']))."'");
  3. if(mysql_num_rows($user) == 1) $user_data = mysql_fetch_assoc($user);
  4.  

вот тут у меня возник вопрос нужно ли использовать LIMIT 1 в запросе?
PHP:
скопировать код в буфер обмена
  1. $user = mysql_query("SELECT * FROM users WHERE users_id = '".abs(intval($_COOKIE['id']))."' limit 1");

Че то я не доганяю, Limit 1 же если пользователь найден то останавливаем поиск и не продолжаем дальше искать??
Но и 2 пользователя одинаковых не может быть тогда зачем limit 1, короче запутался я, помогите разобраться
2. Строитель - 01 Февраля, 2018 - 22:42:09 - перейти к сообщению
Artix пишет:
нужно ли использовать LIMIT 1 в запросе?
Без разницы вроде бы.
3. andrewkard - 02 Февраля, 2018 - 13:53:22 - перейти к сообщению
Не по сабжу:
1) mysql не используйте, перепишите запросы на PDO или mysqli
2) abs(intval($_COOKIE['id']))

это хорошо, но не лучше ли проверить что у Вас там, и если неликвид, не делать запрос вообще + используйте подготовленные запросы

 

Powered by ExBB FM 1.0 RC1