[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Возвращаются странные данные
AlmazDelDiablo
Добрый вечер.

Выдается ошибка "Warning: Division by zero" на строку
echo mysql_num_rows( $cat1 );

Вот весь окружающий код:
$cat1 = mysql_query( "SELECT `obj_Id` FROM `characters` WHERE `char_name` = '". $_POST['l2_acc_charcol'] ."'" );
echo "mysql_num_rows( $cat1 )<br />";
$cat2 = mysql_result( $cat1 );
echo "$cat2 <br />";


А содержимое ячейки в базе, которая выбирается скриптом: "268479452"

В Яндексе нашел, что это что-то связанное с делением на ноль, но как-то не понял, причем здесь деление вообще.



Спустя 3 минуты, 25 секунд (6.10.2010 - 20:16) inpost написал(а):
AlmazDelDiablo
Зачем функцию в кавычки взял? В кавычках ТОЛЬКО текст, ни переменных, ни функций! Только текст!

Спустя 5 минут, 4 секунды (6.10.2010 - 20:21) AlmazDelDiablo написал(а):
Прошу прощения, устаревший код выложил. Такую ошибку выдает БЕЗ кавычек (в кавычах вообще не выдает ничего :3 )

Спустя 49 секунд (6.10.2010 - 20:22) arvitaly написал(а):
Ну выложите последний код то

Спустя 1 минута, 33 секунды (6.10.2010 - 20:23) sergeiss написал(а):
characters - это таблица или view?

Спустя 4 минуты, 18 секунд (6.10.2010 - 20:28) AlmazDelDiablo написал(а):
Цитата (sergeiss @ 6.10.2010 - 21:23)
characters - это таблица или view?

Таблица


Вот код:
if( !count( $l2_acc_info2 ) ) {
l2db_connent( $l2_acc_conf );
$cat1 = mysql_query( "SELECT `obj_Id` FROM `characters` WHERE `char_name` = '". $_POST['l2_acc_charcol'] ."'" );
echo mysql_num_rows( $cat1 );
$cat2 = mysql_result( $cat1 );
echo "$cat2 <br />";
mysql_query( "INSERT INTO `items`
SET
`owner_id` = '"
. $result ."',
`item_id` = '"
. $l2_acc_conf['col_default'] ."',
`count` = '"
. $_POST['l2_acc_countcol'] ."'"
);
echo mysql_error();
mysql_close();
msgbox( "Информация", "Коины получены" );
}

Спустя 17 минут, 8 секунд (6.10.2010 - 20:45) arvitaly написал(а):
Цитата
echo mysql_num_rows( $cat1 );


Не верю, что на этой строчке дивизион бай ноль

Спустя 5 минут, 28 секунд (6.10.2010 - 20:50) AlmazDelDiablo написал(а):
Хм. Ошибка пропала, но возвращается почему-то единица, вместо числа, которое есть в базе. И вот еще ошибки, которые возникают на этот участок кода:

Warning: Wrong parameter count for mysql_result() in /var/www/vps9430/data/www/noptor.ru/cp/test/engine/modules/l2_acc/l2_acc.php on line 92 

Incorrect integer value: '' for column 'owner_id' at row 1


Вот строка 92:
$cat2 = mysql_result( $cat1 );

Спустя 4 минуты, 22 секунды (6.10.2010 - 20:55) inpost написал(а):
AlmazDelDiablo
Всмысле? Есть одна строка, и вернулась еденица! Какое ещё число надо???

Ошибка на 92 строке = 99% из-за 91 строки!!!

Спустя 2 минуты, 30 секунд (6.10.2010 - 20:57) arvitaly написал(а):
Цитата
Хм. Ошибка пропала, но возвращается почему-то единица, вместо числа, которое есть в базе. И вот еще ошибки, которые возникают на этот участок кода:

Сама?

$result - пустой, а у mysql_result другие параметры

Спустя 15 минут, 58 секунд (6.10.2010 - 21:13) linker написал(а):
`owner_id` = '". $result ."',
$result пустой. mysql_num_rows() возвращает количество полученных рядов, потому и единица. Число получится, если указать значение какого ряда нужно вернуть
mysql_result($cat1, 0);

Спустя 9 часов, 38 минут, 1 секунда (7.10.2010 - 06:51) AlmazDelDiablo написал(а):
Цитата (linker @ 6.10.2010 - 22:13)
mysql_result($cat1, 0);

Спасибо огромное! Именно это я не знал и поэтому была ошибка ) Все решилось, скрипт заработал!


_____________
Блог | VK | GitHub | Twitch
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.