在PHP中无法从SQL查询返回正确的结果

时间:2013-03-13 20:56:42

标签: php sql ajax json cordova

我创建了一个表,

中有一些数据

然而,通过使用以下链接,我总是得到{“flag”的结果:“0”,“msg”:“ID不正确。”},无论id是否正确

我想知道问题发生在哪里?感谢

http://mydomain.com/ajax_login_json.php?user_name=admin&password=admin

    <?php session_start();

 //Connect to database from here
    $link = mysql_connect('****', '****', '****'); 
    if (!$link) {
        die('Could not connect: ' . mysql_error());
    }
    //select the database | Change the name of database from here
    mysql_select_db('****'); 

//get the posted values
$user_name=htmlspecialchars($_POST['user_name'],ENT_QUOTES);
$pass=$_POST['password'];

//now validating the username and password
$sql="SELECT user_name, password FROM tbl_user WHERE user_name='".$user_name."'";
$result=mysql_query($sql);
$row=mysql_fetch_array($result);

printf("Select returned %d rows from tbl_user.\n", $result->num_rows);

//if username exists
if(mysql_num_rows($result)>0)
{
    //compare the password
    if(strcmp($row['password'],$pass)==0)
    {
        // Return success message
        $message = array("flag" => "1", "msg" => "Login successfully.");
        echo json_encode($message);
         //Regenerate session ID to prevent session fixation attacks
        //session_regenerate_id();


        //now set the session from here if needed
        //$_SESSION['u_name']=$user_name; 
        //$member=mysql_fetch_assoc($result);
        //$_SESSION['u_id']=$member['id'];
        //$name_show=$member['first_name'].' '.$member['last_name'];
        //$_SESSION['name']=$name_show;
            //Write session to disc
            //session_write_close();

        }
    else
        // Return error message
        $message = array("flag" => "0", "msg" => "Incorrect password.");
        echo json_encode($message);
}
else    //if username not exists
{       // Return error message
        $message = array("flag" => "0", "msg" => "Incorrect id.");
        echo json_encode($message);
}
mysql_close($link);     
?>

1 个答案:

答案 0 :(得分:0)

似乎

$sql="SELECT user_name, password FROM tbl_user WHERE user_name='".$user_name."'";
如果没有任何数据库连接错误,

结果为0。尝试打印$user_name以查看它是否在您的数据库表中。