Я работаю над переписыванием php + mysql игры KDE konquest с кучей добавленных изменений.
В данный момент я довольно в начале, с работающей регистрацией (Проверено, пользователи создаются в базе данных, устанавливаются куки и т. Д.).Однако после создания пользователя следующий код не выводит имя пользователя:
if(isset($_COOKIE["user_cookie"])){
$sql_update_user_time = 'Select user_name from users WHERE user_cookie=?';
$stmt=mysqli_prepare($mysqli,$sql_update_user_time);
mysqli_stmt_bind_param($stmt,"i",$_COOKIE["user_cookie"]);
mysqli_stmt_bind_result($stmt,$user_name);
var_dump("execute:".mysqli_stmt_execute($stmt)." ");
var_dump("fetch:".mysqli_stmt_fetch()." ");
echo "<h1>Greetings $user_name! The empire's fleet awaits your command. </h1>";
}
Вместо этого здесь вывод (после входа в систему):
<!DOCTYPE html>
<html>
<head>
<title>
index of php-on-quest.
</title>
</head>
<body>
bool(true)
NULL
<h1>Greetings ! The empire's fleet awaits your command. </h1> </body>
</html>
Просмотр документации, возвращающий значение NULL, означает, что ошибки не было, но данные не были извлечены из базы данных.
Я проверил, если я вручную запускаю ожидаемый SQL-запрос, он возвращает ожидаемое, то есть ровно одно имя пользователя.
Минимальная база данных:
table users:
user_id:int(11) primary key
user_name: char(11)
user_cookie:int(11) unique