mysqli_query возвращает false если во время выполнения запроса произошла ошибка. Поэтому, если вы уж пишете в таком стиле, то извольте проверять, что во время выполнения запроса ошибки не произошло. Примерно так:
$checkUser = mysqli_query($connect, "SELECT * FROM `users` WHERE `email` == '$email' AND `password` == '$password'");
if ($checkUser === false) {
die(mysqli_error($connect));
}
После того как вы добавите в код проверку, вы увидите что система ругается на некорректный синтаксис SQL-запроса. Конкретно в вашем случае это использование "==" для сравнения. В MySQL используется одинарное "=" для сравнения.
После того как вы исправите эту ошибку, код ваш заработает, но он будет очень небезопасным.
Для того чтобы подставлять значения из php-перемнных в SQL-запрос, используйте подготовленные выражения.
Более подробно расписано почему не стоит использовать mysqli_num_rows и как пользоваться подготовленными выражениями (информация была скопирована
отсюда):
Это очень хороший вопрос.
Ответ на него -
никак не использовать.
Да, в mysqli действительно есть специальная функция, которая может сказать, какое количество строк вернул запрос SELECT.
Традиционно употребляется в двух случаях:
а) когда это не нужно
б) когда приводит к катастрофическим последствиям
Первый вариант - это когда мы хотим узнать, вернул ли запрос хоть какие-то данные, или нет. Но на этот случай у нас есть
сами данные. Зачем отдельно запрашивать их количество, если мы все равно будем эти данные получать в переменную, которую потом и можно будет использовать чтобы узнать, вернул ли запрос что-нибудь или нет.
Второй вариант - если эта функция используется чтобы посчитать, сколько строк лежит в БД. В таком варианте это будет откровенное вредительство, поскольку данных может быть
очень много, и все эти данные БД должна сначала получить у себя, а потом отправить в РНР. Заняв всю доступную память или даже вызвав фатальную ошибку нехватки памяти.
Правильным решением этой задачи будет сделать запрос вида SELECT COUNT(*) FROM .... В этом случае БД сама внутри себя посчитает количество строк (очень быстро) и вернёт только одно число, которое не занимает оперативную память вообще.
Вот и получается, что функция mysqli_num_rows() является либо вредной, либо бесполезной
В данном случае надо
сначала получить записи из БД
// БЕЗОПАСНО выполняем запрос
$stmt = $link->prepare("SELECT * FROM comments WHERE art_id = ?");
$stmt->bind_param("s", $note_id);
$stmt->execute();
// получаем данные
$result = $stmt->get_result();
$comments = $result->fetch_all(MYSQLI_ASSOC);
А после этого уже их выводить
<?php if ($comments): ?>
<?php foreach ($comments as $row): ?>
<?=$row['comment']?><br>
<?php endforeach ?>
<?php else: ?>
Эту запись еще никто не комментировал
<?php endif ?>
Как видно,
никакой mysqli_num_rows нам не понадобилось