簡體   English   中英

PHP & MySQL:如何將用戶輸入與數據庫中的數據進行比較?

[英]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.

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