简体   繁体   English

如何检查数据库中是否存在用户(已经以登录表单注册)?

[英]How to check if a user(already registered with log in form) exists in the database?

I've been trying to create a login page where users who sign up are written in a database. 我一直在尝试创建一个登录页面,将注册用户写在数据库中。 I want to check, when a user tries to log in, the code should find if the user is registered before(if exists in the table in the database). 我想检查一下,当用户尝试登录时,代码应查找用户是否之前注册过(如果数据库中的表中存在该用户)。 And if exists he should sign in and to be redirected to another page(in this case kontakt.php). 如果存在,他应该登录并重定向到另一页面(在这种情况下为kontakt.php)。 Here's what I've done till now, but it shows me error: Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in C:\\xampp\\htdocs\\BookShop\\login.php on line 14 Is something wrong with the query? 这是我到目前为止所做的,但是它向我显示了错误:警告:mysql_num_rows()期望参数1为资源,在第14行的C:\\ xampp \\ htdocs \\ BookShop \\ login.php中给出布尔值。查询?

<?php
session_start();
require "C:/xampp/htdocs/BookShop/DButils.php";

//opening a DB connection
$connection = @ mysql_connect($hostname, $username, $password);

//selecting DB
mysql_select_db($dbname, $connection);

$username=mysql_real_escape_string($_POST['username']);
$password=mysql_real_escape_string($_POST['password']);

$query = mysql_num_rows(mysql_query("SELECT * FROM kupuvac WHERE username = '$username'             AND password = '$password'"));

if($query == 1)
 {              

   header("Location:kontakt.php");

  }
else if ($query == 0 )
   {

    echo "Please try again";
   }
 ?>

mysql_query() returns a resource if the query is successful, but it returns FALSE if there is an error. 如果查询成功, mysql_query()返回一个资源,但是如果出错则返回FALSE

From PHP's website: 从PHP网站:

For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning resultset, mysql_query() returns a resource on success, or FALSE on error. 对于SELECT,SHOW,DESCRIBE,EXPLAIN和其他返回结果集的语句,mysql_query()成功时返回资源,错误时返回FALSE。

You should always check your results for validity. 您应该始终检查结果的有效性。

$result = mysql_query('SELECT * WHERE 1=1');
if (!$result) {
    die('Invalid query: ' . mysql_error());
}

$rows = mysql_num_rows($result);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM