Перейти к содержимому



Непонятная ошибка Warning: mysql_result()

#1 surfer

surfer
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71
0

Отправлено 28 Январь 2010 - 13:10

выдает следующую ошибку Warning: mysql_result(): supplied argument is not a valid MySQL result resource in S:\home\foto\www\module\online.php on line 16
15-16 строки
$result = mysql_query("SELECT (*) FROM `online` LEFT JOIN user ON online.user_id=user.id WHERE user.name = '".$name."' ");
$posts = mysql_result($result,0);

 

 

  • 0

#2 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Январь 2010 - 14:26

sc2r2bey, говорит, что $result это некорректный ресурс -> скорее всего это запрос был составлен не верно.
Попробуйте так:
$result = mysql_query("SELECT * FROM online LEFT JOIN user ON online.user_id=user.id WHERE user.name='{$name}'");
$posts = mysql_result($result,0);

Ошибка может быть:
1) (*) -> *
2) Вконце пробел (зависит от настроек сервера MySQL) -> Лучше убрать
3) Отсутствие одного из полей
  • 0

#3 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 28 Январь 2010 - 16:07

тогда так Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 12 in S:\home\foto\www\module\online.php on line 16
  • 0

#4 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Январь 2010 - 18:13

sc2r2bey, хах, естественно, mysql при таком способе не понимает какое поле будет первым и из какой таблицы.
Лучше скажите что вы хотите сделать и какое поле вам нужно в $posts? Случаем не количество потов? Тогда запрос у вас не верный.

$result = mysql_query("SELECT online.*, user.* FROM online LEFT JOIN user ON online.user_id=user.id WHERE user.name='{$name}'");
$posts = mysql_result($result,0);

А лучше перечисляй все поля которые тебе нужны
  • 0

#5 surfer

surfer
    Topic Starter
  • Заблокированные
  • 1 956 сообщений
  • Репутация: 71

Отправлено 28 Январь 2010 - 18:27

да количество записей в таблице online
  • 0

#6 ZiTosS

ZiTosS
  • Пользователь
  • 5 148 сообщений
  • Репутация: 8

Отправлено 28 Январь 2010 - 18:31

sc2r2bey,
$result = mysql_query("SELECT COUNT(online.*) FROM online LEFT JOIN user ON online.user_id=user.id WHERE user.name='{$name}'");

Можно так или :
$result = mysql_query("SELECT COUNT(*) FROM online LEFT JOIN user ON online.user_id=user.id WHERE user.name='{$name}'");

  • 0


Оформление форума – IPBSkins.ru