Выдается ошибка "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 написал(а):
Хм. Ошибка пропала, но возвращается почему-то единица, вместо числа, которое есть в базе. И вот еще ошибки, которые возникают на этот участок кода:
Вот строка 92:
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 строки!!!
Всмысле? Есть одна строка, и вернулась еденица! Какое ещё число надо???
Ошибка на 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