我需要检查用户名是否已经存在于数据库中。如果是,那么只有登录。登录后,我需要从 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。
[编辑:代码重组]