[英]PHP & MySQL: How do I compare the user input to data in the database?
我有一個 HTML 表單,其中包含一個輸入用戶名的文本框和一個登錄按鈕。 當用戶按下登錄按鈕時,我希望查詢數據庫,如果有匹配則回顯一條語句。 我的代碼是這樣的:
<form class="login_box" method="POST">
<input id="input-boxes1" type="text" name="username" value="" placeholder="Username">
<input id="button-1" type="submit" name="login" value="Login">
</form>
// Checks if login button is pressed
if (isset($_POST['login'])) {
$enteredUser = $_POST['username'];
$sql = "SELECT * FROM user WHERE username='$enteredUser'";
if ($result = mysqli_query($link, $sql)) {
echo 'it works';
}
}
我想要它做的是在匹配時回顯“它有效”。 然而,無論如何它總是呼應它。 數據庫按我添加到它的預期工作並在其他文件中從中選擇,並且數據庫也正確鏈接到此表單。
任何幫助都會很棒,謝謝!
感謝@El_Vanja 和@droopsnoot 的幫助。 我現在設法找出解決方案。 正如他們正確指出的那樣,我必須查看返回的行數是否為 1,如果是,則回顯該語句。
我修改后的代碼如下:
if (isset($_POST['login'])) {
$enteredUser = $_POST['username'];
$sql = "SELECT * FROM user WHERE username='$enteredUser'";
$result = mysqli_query($link, $sql);
if (mysqli_num_rows($result) == 1) {
echo 'it works';
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.