Php 将json对象数据发送到android中的远程mysql数据库

Php 将json对象数据发送到android中的远程mysql数据库,php,android,mysql,json,remote-server,Php,Android,Mysql,Json,Remote Server,我已经使用发布在internet上的方法成功地从远程数据库获取数据。但是我无法将数据推(插入)到同一个表中。 我添加了一个静态计数器,只是为了检查代码是否达到给定的url,但正如预期的那样,它失败了 <?php $json=$_GET [ 'json']; $json=f ile_get_contents( 'php://input'); $obj=json_decode($json); $conn=mysql_connect( "mydatabasename", "myusernam

我已经使用发布在internet上的方法成功地从远程数据库获取数据。但是我无法将数据推(插入)到同一个表中。 我添加了一个静态计数器,只是为了检查代码是否达到给定的url,但正如预期的那样,它失败了

<?php 
$json=$_GET [ 'json']; $json=f ile_get_contents( 'php://input'); 
$obj=json_decode($json);
$conn=mysql_connect( "mydatabasename", "myusername", "mypassword") or die( "error connecting"); 
mysql_select_db( "mydatabasename",$conn)or die("database couldnot connect");
error_reporting(E_ALL);
$tid=$_POST[ 'tid']; 
$name=$_POST[ 'name'];
mysql_query( "insert into mytablename(tid,name) values($tid,$name)");
?>

我在android布局中输入了两个信息:tid、name和试图发送到远程数据库。
注意:出于安全目的,数据库名称和其他详细信息已被隐藏。

如果您正在寻找一种干净的方法..我建议您这样做: register.php

  <?php
include('connect.php');
$response = array();   
if (isset($_POST['Nom']) && isset($_POST['Prenom']) && isset($_POST['Email'])&& isset($_POST['Mdp'])) { //checking if the required fields are set

    $Nom = $_POST['Nom'];//the family name
    $Prenom = $_POST['Prenom']; //last name
    $Email = $db->real_escape_string($_POST['Email']); 
    $Mdp = $db->real_escape_string($_POST['Mdp']);  //the password

    if ($res = $db->query("SELECT * FROM `patient` WHERE `Email_p`='$Email' ")) {  
    $row_cnt = $res->num_rows; }
     if($row_cnt>0) {      
        $response["success"] = 0;
        $response["message"] = "Email exists"; }
    if ($row_cnt <1){
    $result = mysqli_query($db,"INSERT INTO `patient`(`Id_p`, `Nom`,  `Prenom`, `Email_p`, `Mdp`) VALUES ('','$Nom','$Prenom','$Email','$Mdp')");

    if ($result ) { 
        $response["success"] = 1; // if account created we set success value to 1
        $response["message"] = "account created"; 
    } else {                    
        $response["success"] = 0;
        $response["message"] = "Oops Error"; 
    }}
 }else { 
    $response["success"] = 0;
    $response["message"] = "Fields messing";


} 
   echo json_encode($response);
?>

如果您试图用以下格式解码JSONObject{“tid”:“myTidValue”,“name”:“myNameValue”},请使用下面的代码


您如何处理json对象?您使用Get methode for json和Post for tid以及name为什么?可能问题在于
  class CreerNouveauCompte extends AsyncTask<String, String, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();
        pDialog = new ProgressDialog(inscription.this);
        pDialog.setMessage(getString(R.string.inscriEnCours));
        pDialog.setIndeterminate(false);
        pDialog.setCancelable(true);
        pDialog.show();
    }

    protected String doInBackground(String... args) {
        String nom = edtNom.getText().toString();
        String prenom = edtPrenom.getText().toString();
        String email = edtEmail.getText().toString();
        String mdp = edtMdp.getText().toString();
        JSONObject json;
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("Nom", nom));
        params.add(new BasicNameValuePair("Prenom", prenom));
        params.add(new BasicNameValuePair("Email", email));
        params.add(new BasicNameValuePair("Mdp", mdp));

            json= jsonParser.makeHttpRequest(url_register (your url),
                    "POST", params);
        } 
        try {if(json != null && !json.isNull("success")){
            int success = json.getInt("success");
            s2=json.getString("message");
            if (success == 1) { //the acount created
                Intent intent;
                SharedPreferences settings = getSharedPreferences("compte", 0);
                SharedPreferences.Editor editor = settings.edit();
                editor.putString("nom",edtNom.getText().toString() );
                editor.putString("prenom",edtPrenom.getText().toString() );
                editor.putString("email",edtEmail.getText().toString());
                editor.putString("mdp",edtMdp.getText().toString());

                editor.apply(); 
                    intent = new Intent(inscription.this,MainActivity.class); 

                }
                startActivity(intent);
                finish();
            } else {
            }}
        } catch (JSONException e) {
            e.printStackTrace();
        }

        return null;
    }

    protected void onPostExecute(String file_url) {
        pDialog.dismiss(); 
             }

}

call it like this
new CreerNouveauCompte().execute();
 <?php  
$db = new mysqli('localhost', 'root', '', 'rechmed');  
mysqli_set_charset($db,'utf8');
?>
//note i use mysqli ..in your case use mysql
<?php 

$json=stripslashes($_GET['json']); 
$obj=json_decode($json, true);
$conn=mysql_connect( "mydatabasename", "myusername", "mypassword") or die( "error connecting"); 
mysql_select_db( "mydatabasename",$conn)or die("database couldnot connect");
error_reporting(E_ALL);
$tid=$json['tid']; 
$name=$json['name'];
mysql_query("insert into mytablename(tid,name) values('$tid','$name')");

?>
<?php 

$json=stripslashes($_GET['json']); 
$obj=json_decode($json, true);
$conn=mysql_connect( "mydatabasename", "myusername", "mypassword") or die( "error connecting"); 
mysql_select_db( "mydatabasename",$conn)or die("database couldnot connect");
error_reporting(E_ALL);

foreach ($json as $data){
    $tid=$data['tid']; 
    $name=$data['name'];
    mysql_query("insert into mytablename(tid,name) values('$tid','$name')");
}
?>