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().
You must check is query ended successfully.
if(!$result) { print mysql_error(); die(); }
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.