简体   繁体   中英

Cannot get data using mysql_query

I have a problem in using mysql_query. I always get the result zero even my query is correct because I tried executing my query directly in the database and I got a result. Please see my code below :

<?php
$username = $_POST['user'];
$password = $_POST['pass'];

$username = stripcslashes($username);
$password = stripcslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);


mysql_connect("localhost","root","");
mysql_select_db("login");

$query = sprintf("select * from users where username='$username' and password='$password'");
$result = mysql_query($query);

$row = mysql_fetch_array($result);

if($row['username'] == $username && $row['password'] == $password)
{
    echo "Login Successful! Welcome".$row['username'];
}
else{
    echo "Login Failed";
}

?>

您使用sprintf,但未提供变量占位符,并且使用单引号而不是双引号,因此不会解析变量。

Help yourself by adding some debugging.

After this...

$result = mysql_query($query);

Add this...

if (!$result) {
    die('Invalid query: ' . mysql_error());
}

Save and re-run the code.

Let us know if you get a mysql_error().

  1. You must check is query ended successfully.

    if(!$result) { print mysql_error(); die(); }

  2. mysql is outdated. Use PDO

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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