Php Android/JSON:JSON响应为false?

Php Android/JSON:JSON响应为false?,php,android,mysql,json,Php,Android,Mysql,Json,我目前正在创建一个Android应用程序,该应用程序链接到上的PHPMyAdminMYSQL数据库 Hosting24.com,此活动旨在允许用户注册,以便在将输入MYSQL数据库的应用程序的编辑文本框中输入详细信息 我正在尝试运行的代码给出了一个Toast输出: “抱歉,用户名已被选择。请选择另一个。”即使数据库完全为空 这似乎是因为JSON响应是false,我的查询是为什么这会是false 这是否意味着PHP脚本中的访问详细信息不正确 Android代码: public class Sign

我目前正在创建一个
Android应用程序
,该应用程序链接到上的
PHPMyAdmin
MYSQL
数据库 Hosting24.com,此活动旨在允许用户注册,以便在将输入MYSQL数据库的应用程序的编辑文本框中输入详细信息

我正在尝试运行的代码给出了一个
Toast
输出:

“抱歉,用户名已被选择。请选择另一个。”
即使数据库完全为空

这似乎是因为
JSON响应
是false,我的查询是为什么这会是false

这是否意味着PHP脚本中的
访问详细信息
不正确

Android代码:

public class SignUp extends Activity {

    EditText UserName, Password;
    Button btnSignUp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sign_up_screen);

        UserName = (EditText) findViewById(R.id.euUserName);
        Password = (EditText) findViewById(R.id.euPass);
        Password.setTransformationMethod(PasswordTransformationMethod.getInstance());
        btnSignUp = (Button) findViewById(R.id.btnSingUp);
        btnSignUp.setOnClickListener(new View.OnClickListener() {

            public void onClick(View v) {

                // get The User name and Password to sign up with
                String userName = UserName.getText().toString();
                String password = Password.getText().toString();

                // Url to login PHP script on server  
                String serverURL = "http://r999hosting.com/UserRegistrationService.php?username="
                        + userName + "&password=" + password;

                new LongOperation().execute(serverURL);

            }
        });

    }

    /**
     * Contains logic related to communication with PHP script over server
     * 
     * @author
     * 
     */
    private class LongOperation extends AsyncTask<String, Void, Void> {

        private final HttpClient Client = new DefaultHttpClient();
        private String Content;
        private String Error = null;
        private ProgressDialog Dialog = new ProgressDialog(SignUp.this);
        String data = "";
        int sizeData = 0;

        protected void onPreExecute() {

            Dialog.setMessage("Please wait.. ");
            Dialog.show();

        }

        // Call after onPreExecute method
        protected Void doInBackground(String... urls) {

            // make POST call to web server
            BufferedReader reader = null;

            try {

                // Define URL where to send data
                URL url = new URL(urls[0]);

                // Send POST data request
                URLConnection conn = url.openConnection();
                conn.setDoOutput(true);
                OutputStreamWriter wr = new OutputStreamWriter(
                        conn.getOutputStream());
                wr.write(data);
                wr.flush();

                // Get the server response
                reader = new BufferedReader(new InputStreamReader(
                        conn.getInputStream()));
                StringBuilder sb = new StringBuilder();
                String line = null;

                // Read Server Response
                while ((line = reader.readLine()) != null) {
                    // Append server response in string
                    sb.append(line + "");
                }

                // Append Server Response To Content String
                Content = sb.toString();
            } catch (Exception ex) {
                Error = ex.getMessage();
            } finally {
                try {

                    reader.close();
                }

                catch (Exception ex) {
                }
            }

            return null;
        }

        protected void onPostExecute(Void unused) {

            // Close progress dialog
            Dialog.dismiss();

            if (Error != null) {

            } else {

                // Start Parse Response JSON Data
                String OutputData = "";
                JSONObject jsonResponse;

                try {

                    // Creates a new JSONObject with name/value mappings from
                    // the JSON string
                    jsonResponse = new JSONObject(Content);

                    String result = jsonResponse.get("result").toString();

                    if (result.equals("true")) {
                        // inform user they have signed up successfully
                        Toast.makeText(SignUp.this,
                                "Congrats: Sign Up Successfull",
                                Toast.LENGTH_LONG).show();

                        Intent i = new Intent(SignUp.this,
                                LoginHome.class);
                        startActivity(i);
                        // inform user of error signing up
                        Toast.makeText(getApplicationContext(),
                                "Congrats: Sign Up Successfull",
                                Toast.LENGTH_LONG).show();

                    } else {
                        Toast.makeText(
                                SignUp.this,
                                "Sorry, Username already chosen. Please choose another. ",
                                Toast.LENGTH_LONG).show();
                    }

                }

                catch (JSONException e) {

                    e.printStackTrace();
                }

            }
        }

    }


}
公共类注册扩展了活动{
编辑文本用户名、密码;
按钮btnSignUp;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u sign\u up\u屏幕);
UserName=(EditText)findViewById(R.id.euUserName);
密码=(EditText)findViewById(R.id.euPass);
setTransformationMethod(PasswordTransformationMethod.getInstance());
btnSignUp=(按钮)findViewById(R.id.btnSingUp);
btnSignUp.setOnClickListener(新视图.OnClickListener(){
公共void onClick(视图v){
//获取要注册的用户名和密码
字符串userName=userName.getText().toString();
字符串密码=password.getText().toString();
//服务器上登录PHP脚本的Url
字符串serverURL=”http://r999hosting.com/UserRegistrationService.php?username="
+用户名+“&password=“+password;
新建LongOperation().execute(服务器URL);
}
});
}
/**
*包含与通过服务器与PHP脚本通信相关的逻辑
* 
*@作者
* 
*/
私有类LongOperation扩展了异步任务{
私有最终HttpClient客户端=新的DefaultHttpClient();
私有字符串内容;
私有字符串错误=null;
private ProgressDialog=新建ProgressDialog(SignUp.this);
字符串数据=”;
int sizeData=0;
受保护的void onPreExecute(){
setMessage(“请稍候…”);
Dialog.show();
}
//在onPreExecute方法之后调用
受保护的Void doInBackground(字符串…URL){
//对web服务器进行POST调用
BufferedReader reader=null;
试一试{
//定义发送数据的URL
URL=新URL(URL[0]);
//发送POST数据请求
URLConnection conn=url.openConnection();
连接设置输出(真);
OutputStreamWriter wr=新的OutputStreamWriter(
conn.getOutputStream());
wr.写入(数据);
wr.flush();
//获取服务器响应
reader=新的BufferedReader(新的InputStreamReader(
conn.getInputStream());
StringBuilder sb=新的StringBuilder();
字符串行=null;
//读取服务器响应
而((line=reader.readLine())!=null){
//在字符串中追加服务器响应
sb.追加(第+行“);
}
//将服务器响应附加到内容字符串
Content=sb.toString();
}捕获(例外情况除外){
Error=ex.getMessage();
}最后{
试一试{
reader.close();
}
捕获(例外情况除外){
}
}
返回null;
}
受保护的void onPostExecute(未使用的void){
//关闭进度对话框
Dialog.dismise();
if(错误!=null){
}否则{
//启动解析响应JSON数据
字符串OutputData=“”;
JSONObject jsonResponse;
试一试{
//从中创建具有名称/值映射的新JSONObject
//JSON字符串
jsonResponse=新的JSONObject(内容);
String result=jsonResponse.get(“result”).toString();
if(result.equals(“true”)){
//通知用户他们已成功注册
Toast.makeText(SignUp.this,
“恭喜:注册成功”,
Toast.LENGTH_LONG).show();
意向i=新意向(注册本、,
LoginHome.class);
星触觉(i);
//通知用户注册时出错
Toast.makeText(getApplicationContext(),
“恭喜:注册成功”,
Toast.LENGTH_LONG).show();
}否则{
Toast.makeText(
注册,这个,
“抱歉,用户名已选择。请选择其他用户名。”,
Toast.LENGTH_LONG).show();
}
}
捕获(JSONException e){
e、 printStackTrace();
}
}
}
}
}
PHP脚本:(注意:出于安全原因未显示真实细节)


您将
用户名
密码
硬编码到URL中,这对于
获取
是可以的,但对于
发布
则不行;对于
POST
请求,您需要发送
<?php



if(isset($_GET['username']) && isset($_GET['password']))
{

$mysql_host = " ";
$mysql_database = " ";
$mysql_user = " ";
$mysql_password = " ";


// Provide host ip, mysql user name, password
 $con = mysql_connect($mysql_host,$mysql_user,$mysql_password);

// Provide database name.
mysql_select_db($mysql_database);



    $username=$_GET['username'];

    $password=$_GET['password'];

    $flag="false";


    if(!empty($username) && !empty($password))
    {

        $sql="Insert into `Login` (`UserName`,`Password`)  values ('$username','$password') ";

        $result=mysql_query($sql);

        if($result)
        {
            $count= mysql_affected_rows();
            if($count > 0)
            {
                $flag="true"; //result true 

            }               

        }

                   mysql_close($con);
        echo json_encode(array("result"=>$flag));
    }



}

?>
    // Url to login PHP script on server  
        String serverURL = "http://r999hosting.com/UserRegistrationService.php"

        String query = "username=" + userName + "&password=" + password;
        new LongOperation().execute(serverURL, query);
        protected Void doInBackground(String... urls) {
            data = urls[1]
            ...