简体   繁体   English

无法使用mysql_query获取数据

[英]Cannot get data using mysql_query

I have a problem in using mysql_query. 我在使用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(). 让我们知道您是否获得了mysql_error()。

  1. You must check is query ended successfully. 您必须检查查询是否成功结束。

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

  2. mysql is outdated. mysql已经过时了。 Use PDO 使用PDO

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

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