Как проверить, пуста ли база данных по запросу php и mysql? - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть «Пустая база данных» пользователей.

Первое, что я хочу сделать с моим кодом, если проверить, существует ли идентификатор пользователя, перед созданием им идентификатора пользователя.

Я получаю следующую ошибку: Trying to get property 'num_rows' of non-object

Я принял свой запрос и отправил его в mysql и ничего не возвращаю.

Моя HTML-форма для отправки:

<form action="index.php" method="post" autocomplete="off">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="submit" value="Login" />
</form>

Я проверяю, существует ли имя пользователя.

$query=("SELECT count(*) FROM users WHERE user_name = ?,[$username]");
$result = mysqli_query($conn, $query);

if ($result)
    {
        $result = mysqli_fetch_all($result,MYSQLI_ASSOC);
        return $result;
    } else {
        return mysqli_affected_rows($conn);
    }

После теста он отправит мой запрос на создание учетной записи пользователя.

1 Ответ

0 голосов
/ 05 февраля 2019

Переписано с использованием правильного синтаксиса, оно выглядит следующим образом:

$stmt = $conn->prepare("SELECT count(*) FROM users WHERE user_name = ?");
$stmt->bind_param('s', $username);

$result = $stmt->execute();

if ($result)
{
    return $result->fetch_assoc();
} else {
    return $conn->num_rows;
}

При этом, надеюсь, это академическое упражнение, потому что написание собственной системы входа в систему для производственного использования чрезвычайно опасно.Используйте платформу со встроенным уровнем безопасности в качестве основы приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...