Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 22.12.2022
Сообщений: 17

Ошибка mysqli_num_rows() expects parameter 1 to be mysqli_result, bool given in C:\Program Files\Ampps\www\core\test.p

16.03.2023, 00:05. Показов 357. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет, вот код на php
В базе данных значение совпадает с кукой, что в браузере
PHP
1
2
3
4
5
6
7
8
9
10
<?php
require_once 'config.php';
session_start();
 
if (isset($_COOKIE['session_id'])) {
    $session_id = $_COOKIE['session_id'];
    echo $session_id;
    $query = mysqli_query($connect, "SELECT * FROM `users` WHERE `session_id` == $session_id");
    echo mysqli_num_rows($query);
}
Файл конфигурации подключен, с этим проблем нет
В другом коде все работает с этой же базой данных
Другой файл:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?php
session_start();
function session_keygen($length = 6): string{
    $chars = 'qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP';
    $size = strlen($chars) - 1;
    $key = '';
    while($length--) {
        $key .= $chars[random_int(0, $size)];
    }
    return $key;
}
require_once 'config.php';
echo 'Служебная страница<br>';
if (isset($_POST['code'])) {
    if ($_POST['code'] > 9999 and $_POST['code'] < 100000) {
        $code = $_POST['code'];
        $query = mysqli_query($connect,"SELECT * FROM `users` WHERE `user_code` = $code");
        if (mysqli_num_rows($query) == 1){
            $user_row = mysqli_fetch_assoc($query);
            $user_id = $user_row['user_id'];
            if (isset($_POST['devices_logout'])){
                $key = session_keygen(256);
                mysqli_query($connect,"UPDATE `users` SET `session_id` = '$key' WHERE `user_id` = $user_id;");
                setcookie("session_id", $key, time()+60 * 60 * 24 * 30 * 6, "/");
                header('Location: ../account.php');
            }
            else{
                if (isset($user_row['session_id'])){
                    $key = $user_row['session_id'];
                    setcookie("session_id", $key, time()+60 * 60 * 24 * 30 * 6, "/");
                    header('Location: ../account.php');
                }
                else{
                    $key = session_keygen(256);
                    mysqli_query($connect,"UPDATE `users` SET `session_id` = '$key' WHERE `user_id` = $user_id;");
                    setcookie("session_id", $key, time()+60 * 60 * 24 * 30 * 6, "/");
                    header('Location: ../account.php');
                }
            }
        }
        else{
            $_SESSION['login_error'] = 'Код не найден в базе данных';
            header('Location: ../login.php');
            exit();
        }
    }
    else{
        $_SESSION['login_error'] = 'Это не пятизначный код';
        header('Location: ../login.php');
        exit();
    }
}
else {
    $_SESSION['login_error'] = 'Куда мы лезем боже?)';
    header('Location: ../login.php');
    exit();
}
ПРО SQL ИНЬЕКЦИИ ЗНАЮ, ПОЖАЛУЙСТА, НЕ ПИШИТЕ ОБ ЭТОМ.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.03.2023, 00:05
Ответы с готовыми решениями:

Ошибка: mysqli_num_rows() expects parameter 1 to be mysqli_result
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in W:\domains\localhost\shop\www\view_cat.php on line 108...

Ошибка mysqli_num_rows() expects parameter 1 to be mysqli_result
Подключение $host = 'localhost'; // Хост, у нас все локально $user = 'admin'; // Имя созданного вами пользователя $pass =...

MySQL Ошибка: mysqli_num_rows() expects parameter 1 to be mysqli_result
Ошибка Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in...

2
Эксперт PHP
3899 / 3237 / 1353
Регистрация: 01.08.2012
Сообщений: 10,904
16.03.2023, 04:47
Цитата Сообщение от Nevenuga Посмотреть сообщение
expects parameter 1 to be mysqli_result, bool given
Функция mysqli_query возвращает false в случае ошибки. Значит надо смотреть, какая именно возникает ошибка, с помощью mysqli_error.
1
1306 / 998 / 232
Регистрация: 01.10.2018
Сообщений: 3,874
16.03.2023, 10:10
Инициализации $connect не видно. Если она происходит в "файле конфигурации", то это плохой подход. Лучше "импортировать" соответствующую функцию из подключаемого файла:
PHP
1
2
3
4
5
require INCLUDE_PATH.'db.php';
 
$connect = db_open() or fail(503);
 
$result = $connect->query(...) or fail(503);
(Для query() or fail() лучше тоже использовать какую-нибудь "обертку", вызываемую где-то глубоко в недрах модели или непосредственно в функциях модели.)

Генерацию исключения можно выполнять и внутри db_open(). Показал альтернативный вариант, т.к. он тоже вполне допустим.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.03.2023, 10:10
Помогаю со студенческими работами здесь

Ошибка - Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
Итак, мы имеем файл index.php в котором есть такие строчки $res = mysqli_query($link, &quot;SELECT * FROM newspack WHERE num=&quot;.$_GET); ...

mysqli_num_rows() expects parameter 1 to be mysqli_result,
Парни помогите решить проблему: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in...

Mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
Пытаюсь сделать следующее: &lt;?php //if ($SERVER==&quot;POST&quot;){ // include 'connection.php'; //showStudent(); //}

mysqli_num_rows() expects parameter 1 to be mysqli_result boolean given in
Помогите, пожалуйста разобраться. Я хочу создать все статьи сайта в одном файле article.php такая вот ошибка: mysqli_num_rows()...

mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given
появилась эта ошибка когда пытаюсь сделать авторизацию пользователя: Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru