0

我需要检查用户名是否已经存在于数据库中。如果是,那么只有登录。登录后,我需要从 php 文件向 java 类发送响应,说明成功。当我使用 Json 访问我的 java 文件中的结果数组时,尽管用户名已经存在于数据库中,但它给出了 NULL。

有什么帮助吗?

我正在使用下面的 PHP 和 java 代码

<?php

include("db_config.php");

$myusername = $_GET['username'];
$mypassword = $_GET['password'];



$sql="SELECT id FROM tablename WHERE username='$myusername' and  password='$mypassword'";    

echo $sql;

$result=mysql_query($sql);
$row=mysql_fetch_array($result);
$active=$row['active'];

$count=mysql_num_rows($result);

if($count==1)
{
$result['login'] == 'success';

}
else 
{
$result['login'] == 'failed';
}
echo json_encode($result);

这是我的 Java 代码

btnLogin.addActionListener(new ActionListener() 
    {
        public void actionPerformed(ActionEvent arg0)
        {
            username= textFieldUserName.getText().toString();
            password = textFieldPassword.getText().toString();
            //  discount = textFieldDiscount.getText().toString();

            List<NameValuePair> params = new ArrayList<NameValuePair>();





            params.add(new BasicNameValuePair("username",username));
            params.add(new BasicNameValuePair("password",password ));



            JSONObject json = jParser.makeHttpRequest(url_all_products, "GET", params);


            try {           

                status = json.getString(TAG_SUCCESS);
                System.out.println(" status is "+status);

                if(status.equalsIgnoreCase("success"))
                {
                    System.out.println("Login success");
                }   


            } catch (JSONException e) {

                e.printStackTrace();
            }           

        }

    });

另外,我尝试了 if(response.getStatusLine().getStatusCode()==200) ,如果来自服务器的 OK 则返回 200。

[编辑:代码重组]

4

1 回答 1

0

使用此代码java

JSONObject json = (JSONObject)jParser.makeHttpRequest(url_all_products, "GET", params);
try {           
   //status = json.getString(TAG_SUCCESS);
   String status = (String) json.get("login");
   System.out.println(" status is "+status);

   if(status.equalsIgnoreCase("success"))
   {
       System.out.println("Login success");
   }   
 }
于 2013-04-18T10:55:31.177 回答