@Sleebu
13 лет, пытаюсь писать сайты

Что не так со скриптом, если PHP всё время получает 0 от БД?

У меня есть скрипт PHP, который не работает непонятно почему. От запросов к MySQL, ответ всегда равен нулю.
$connection = mysqli_connect("localhost", "root", "", "test_db") or die("Ошибка " . mysqli_error($link));
//Подключение к бд – успешно

$curuser = mysqli_query($connection, "SELECT `id` FROM `users` WHERE `name` = '$fullname' AND `password` = '$password'");

if ( mysqli_num_rows($curuser) == 1 ){
echo "1|megaapp/index.php";
setcookie("fullname", $fullname);
setcookie("password", $password);
exit();
}

//mysqli_num_rows($curuser) равен нулю

Есть подозрения, что это из-за хостинга, ведь на лок. веб сервере всё работает(
Переменные не пустые – проверял.

P. S.
Вопрос решён. Дело в сервере. При подставлении вместо параметра name параметр id с циферным значением - всё работает) Но мне надо немножко подругому)
  • Вопрос задан
  • 111 просмотров
Пригласить эксперта
Ответы на вопрос 4
ThunderCat
@ThunderCat Куратор тега PHP
{PHP, MySql, HTML, JS, CSS} developer
Вообще то магия вне Хогвардса запрещена, по этому ищите материальные причины:
1) Проверьте что попадает в запрос, просто выведите строку в ехо:
echo "SELECT `id` FROM `users` WHERE `name` = '$fullname' AND `password` = '$password'";

2) вставьте в консоль мускуля или в пхпмайадмин эту строку и посмотрите что вернет запрос(скорее всего уже на первом шаге будет ясно что там какая-то лажа)
3) Проверьте что в базе реально есть такая строка которая соответствует запросу(опять же, скорее всего косяк где-то в пп1-2 и к этому шагу вы не дойдете)

PS: логин с паролем в куках - это сильно )
Ответ написан
cesnokov
@cesnokov
<head>&nbsp;</head>
А если точки добавить?
'$fullname' -> '" . $fullname . "'
'$password' -> '" . $password . "'

$curuser = mysqli_query($connection, "SELECT `id` FROM `users` WHERE `name` = '" . $fullname . "' AND `password` = '" . $password . "'");
Ответ написан
@Sleebu Автор вопроса
13 лет, пытаюсь писать сайты
Вопрос решён. Дело в сервере. При подставлении вместо параметра name параметр id с циферным значением - всё работает) Но мне надо немножко подругому)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы