我在使用mysql_query时遇到问题。我总是得到结果为零,即使我的查询是正确的,因为我尝试直接在数据库中执行我的查询,我得到了一个结果。 请参阅下面的代码:
<?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";
}
?>
答案 0 :(得分:1)
您使用sprintf但是您没有提供变量占位符,并且您使用单引号而不是双引号,因此不会解析变量。
答案 1 :(得分:1)
通过添加一些调试来帮助自己。
在此之后...
$result = mysql_query($query);
添加此...
if (!$result) {
die('Invalid query: ' . mysql_error());
}
保存并重新运行代码。
如果您收到mysql_error(),请告诉我们。
答案 2 :(得分:1)
您必须检查查询是否已成功结束。
if(!$ result){ print mysql_error(); 死(); }
mysql
已过时。使用PDO