LOG ERORR :____________________________________________________ mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/freebit2/public_html/guest/account.php on line 11 _______________________________________________________________
<?
if ($_POST['register_f']) {
valid_captcha(); valid_name(); valid_wallet();
db();
if (mysqli_num_rows(mysqli_query($db, "SELECT `id` FROM `users` WHERE `wallet` = '$_POST[wallet]'"))) message('Этот кошелек уже зарегистрирован');
if ($_SESSION['ref']) $ref = $_SESSION['ref']; else $ref = 0;
$query = mysqli_query($db, "SELECT * FROM `users` WHERE `wallet` = '$_POST[wallet]'");
if (!mysqli_num_rows($query)) message('Аккаунт не найден');
$row = mysqli_fetch_assoc($query);
if ($row['protect'] == 1 and $row['ip'] != $_SERVER['REMOTE_ADDR']) message('Доступ с этого IP запрещен'); else if ($row['ban'] == 1) message('Аккаунт заблокирован');
foreach ($row as $key => $val) $_SESSION[$key] = $val;
$refq = mysqli_query($db, "SELECT `name`, `balance` FROM `users` WHERE `ref` = $_SESSION[id] ORDER BY `id` DESC LIMIT 10");
if (mysqli_num_rows($refq)) { while ($refr = mysqli_fetch_assoc($refq)) $_SESSION['reflist'][] = array($refr['name'], $refr['balance']); }
go('profile');
}
else if ($_POST['bonus_f']) message('Для получения бонуса пройдите регистрацию');
я уже запарился уже совсем перестал понимать что к чему ничего не выходит
Николай Захаров
Мыслитель
(6266)
Ну смотри, когда используешь mysqli, тебе надо сначала писать к какому подключению ты обращаешься (у тебя - $db).
Вот, например, у тебя написано: mysqli_num_rows(mysqli_query($db, ..
А надо вот так: mysqli_num_rows($db, mysqli_query($db, ..
<? function db() { global $db; $db = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); if (!$db) exit('Ошибка подключеня к БД'); } ?>
вот что в БД что делать сейчас не понимаю что не так как исправить помоги друг
www www
Искусственный Интеллект
(123068)
Для начала вот тут
$query = mysqli_query($db, "SELECT * FROM `users` WHERE `wallet` = '$_POST[wallet]'");
вставить проверку на ошибки...
что-то не так с этим запросом.
Для начала вставьте после него
message("SELECT * FROM `users` WHERE `wallet` = '$_POST[wallet]'");
хоть посмотрите на текст запроса.
Андрей
Высший разум
(425688)
Будет mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/freebit2/public_html/guest/account.php on line 11
Это сообщение появилось потому, что в MySQL (не в PHP, а именно в базе данных) запрос завершился ОШИБКОЙ. И чтобы узнать ПРИЧИНУ этой ошибки, надо вызывать mysqli_error.
mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in /home/freebit2/public_html/guest/account.php on line 11
_______________________________________________________________
<?
if ($_POST['register_f']) {
valid_captcha();
valid_name();
valid_wallet();
db();
if (mysqli_num_rows(mysqli_query($db, "SELECT `id` FROM `users` WHERE `wallet` = '$_POST[wallet]'")))
message('Этот кошелек уже зарегистрирован');
if ($_SESSION['ref'])
$ref = $_SESSION['ref'];
else
$ref = 0;
mysqli_query($db, "INSERT INTO `users` VALUES('', $ref, '$_POST[name]', '$_POST[wallet]', 0, '$_SERVER[REMOTE_ADDR]', 0, 0, 0)");
message('Регистрация завершена');
}
else if ($_POST['login_f']) {
valid_captcha();
valid_wallet();
db();
$query = mysqli_query($db, "SELECT * FROM `users` WHERE `wallet` = '$_POST[wallet]'");
if (!mysqli_num_rows($query))
message('Аккаунт не найден');
$row = mysqli_fetch_assoc($query);
if ($row['protect'] == 1 and $row['ip'] != $_SERVER['REMOTE_ADDR'])
message('Доступ с этого IP запрещен');
else if ($row['ban'] == 1)
message('Аккаунт заблокирован');
foreach ($row as $key => $val)
$_SESSION[$key] = $val;
$refq = mysqli_query($db, "SELECT `name`, `balance` FROM `users` WHERE `ref` = $_SESSION[id] ORDER BY `id` DESC LIMIT 10");
if (mysqli_num_rows($refq)) {
while ($refr = mysqli_fetch_assoc($refq))
$_SESSION['reflist'][] = array($refr['name'], $refr['balance']);
}
go('profile');
}
else if ($_POST['bonus_f'])
message('Для получения бонуса пройдите регистрацию');
?>