簡體   English   中英

如何通過php和mysql查詢測試數據庫是否為空?

[英]How to test if database is empty by a php and mysql query?

我有一個“空數據庫”的用戶。

我想對代碼進行的第一件事是,在創建用戶ID之前先檢查用戶ID是否存在。

我收到以下錯誤: 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);
    }

測試后,它將提交我的查詢以創建用戶帳戶。

重新編寫以使用正確的語法,如下所示:

$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;
}

話雖這么說,但希望這是一個學術練習,因為編寫自己的登錄系統供生產使用非常危險 使用具有內置安全層的框架作為應用程序基礎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM