Форумы портала PHP.SU » » Работа с СУБД » Подскажите где ошибка

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

1. Uchenik - 16 Августа, 2011 - 08:44:51 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. elseif (!empty($_SESSION['login']) and !empty($_SESSION['password']) and $_SESSION['access']=='2')
  2.  //вошёл юзер, статус не известен, уточняем
  3.  {$q="Select * from users where boss='".$_SESSION['Email']."'";
  4. //ищем юзеров, у который в графе Шеф указан email вошедшего
  5.  $r=mysql_query($q);
  6.  //если никого не найдено
  7.  if (empty($r))
  8.  //вывести стандартное меню пользователя
  9.  {echo $IPM_Employee;}
  10.  //или вывести меню для шефа
  11.  else {echo $IPM_Сhecking;}}

Что не так в этом коде? У меня почему-то для всех вошедших выводится админское меню Радость
2. КЫР - 16 Августа, 2011 - 08:55:57 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1.  
  2.  if (mysql_num_rows($r)==0)
  3.  //вывести стандартное меню пользователя
  4.  {echo $IPM_Employee;}
  5.  //или вывести меню для шефа
  6.  else {echo $IPM_Сhecking;}}
  7.  
3. Uchenik - 16 Августа, 2011 - 09:02:08 - перейти к сообщению
ОГРОМНОЕ Человеческое спасибо! Не знал про mysql_num_rows.
Ещё раз спасибо!
4. LIME - 16 Августа, 2011 - 10:08:47 - перейти к сообщению
в 7 строке просто if ($r) потомучто false это не пустое значение
5. Gamer-X - 18 Августа, 2011 - 20:53:19 - перейти к сообщению
чтобы не плодить тем, задам вопрос здесь

вот такой вот запрос не работает:
$new = mysql_query("SELECT COUNT(*) FROM `pm` WHERE whom='{$_SESSION[LogInSite]}' AND read='0'");
$all_new = mysql_fetch_row($new);

а если убрать AND read='0' то работает
объясните почему?
у меня действительно есть поля, где read=0, но скрипт не считает а вообще не работает, почему?
6. Мелкий - 18 Августа, 2011 - 21:46:48 - перейти к сообщению
phpfaq.ru/debug и конкретно mysql_error
7. КЫР - 18 Августа, 2011 - 22:22:16 - перейти к сообщению
ну вообще да, mysql_error()
но поле read у вас разве не целочисленного типа?
8. White - 18 Августа, 2011 - 22:26:26 - перейти к сообщению
Gamer-X пишет:
AND read='0'
используйте двойные кавычки.
9. EuGen - 19 Августа, 2011 - 09:18:15 - перейти к сообщению
READ - зарезервированное слово MySQL; его следует либо не использовать в качестве имени поля, либо заключать в обратные кавычки:
AND `read`='0'
10. Gamer-X - 19 Августа, 2011 - 11:24:11 - перейти к сообщению
всем огромное спасибо, помогло! Радость

 

Powered by ExBB FM 1.0 RC1