繁体   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