Java 无法进行身份验证

Java 无法进行身份验证,java,php,android,json,Java,Php,Android,Json,此时,我希望用户输入他/她的用户名和密码(数据是mock@MySQL) 但它不起作用 My file.php: <?php include("ConnectDatabase.php"); $Username = $_POST['Username']; $Password = $_POST['Password']; $q = mysql_query("SELECT Username, Password FROM Users

此时,我希望用户输入他/她的用户名和密码(数据是mock@MySQL) 但它不起作用

My file.php:

<?php
    include("ConnectDatabase.php");
    $Username = $_POST['Username'];
    $Password = $_POST['Password'];

    $q = mysql_query("SELECT Username, Password FROM Users
                    where Username = '".$Username."' and
                    Password = '".$Password."'");

    if(mysql_num_rows($q) > 0){
        print json_encode($q);
    }else{
        print "1";
    }
     mysql_close();
   ?>

您忘记的第一件事是传入变量:

$Username = $_POST['Username'];
你的第二个问题可能是:

   if (mysql_num_rows($q) > 0) {
        print json_encode($q);
$q
变量是一个mysql\result句柄。它不能用JSON表示。您可能想使用:

        print json_encode(mysql_fetch_assoc($q));
因此,您将至少获得一个带有用户名/密码的结果数组/对象。如果您只需发送另一个简单的数字结果-
打印“2”或者什么的


您是否已经检查过是否运行PHP5.2或更高版本,因此这肯定是可用的?

问题是什么?还有,你有什么错误吗?你的应用程序崩溃了吗?如果是这样,你能粘贴logcat跟踪吗?我只是不知道为什么它不起作用。我没有收到任何错误。请查看PDO准备的语句,因为您的代码不安全=>
where Username='“$Username.”和Password='“$Password.”");表示两个主要的安全缺陷:SQL注入和存储的纯文本密码。请仔细阅读。这些问题比您试图处理的JSON问题更严重。
        print json_encode(mysql_fetch_assoc($q));