如何使用StringRequest将数据放入数据库?

时间:2018-02-05 10:57:42

标签: php android mysql

我正在使用PHP MYSQL创建一个Android应用程序。我想把ID和电话号码放在数据库中。但我一直都在失败。我需要帮助....不是错误..

php code

<?php

    $con = mysqli_connect("localhost", "------", "------", "------");


    $userID = $_get["userID"];
    $smsNum1 = $_get["smsNum1"];



    $statement = mysqli_prepare($con, "INSERT INTO SMSList VALUES (?, ?)");
    mysqli_stmt_bind_param($statement, "ss", $userID, $smsNum1);
    mysqli_stmt_execute($statement);


    $response = array();
    $response["success"] = true;

    echo json_encode($response);
?>

--------------- android code ----------------------

  1. mainativity
  2. yjyjtdeyhudydtyrytdhdt

    package com.example.user.myapplication;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    
    import com.android.volley.RequestQueue;
    import com.android.volley.Response;
    import com.android.volley.toolbox.Volley;
    
    import org.json.JSONObject;
    
    public class MainActivity extends AppCompatActivity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
    
            Button inputbtn = (Button)findViewById(R.id.inputbtn);
            Button deletebtn = (Button)findViewById(R.id.deletebtn);
    
            inputbtn.setOnClickListener(new Button.OnClickListener(){
                public void onClick(View v){
                    EditText idText = (EditText) findViewById(R.id.userID);
                    EditText smsText = (EditText) findViewById(R.id.smsNum1);
                    String id=idText.getText().toString();
                    String sms=smsText.getText().toString();
    
                    Response.Listener<String> responseListener = new Response.Listener<String>() {
                        @Override
                        public void onResponse(String response) {
    
    
                            try
                            {
                                JSONObject jsonResponse = new JSONObject(response);
                                boolean success = jsonResponse.getBoolean("success");
                                System.out.print(success);
    
                                /*if(success) {
                                    new CustomConfirmDialog().showConfirmDialog(RegisterActivity.this,"사용할 수 있는 아이디입니다.",true);
    
    
                                    idText.setEnabled(false); // ID 값을 더 이상 바꿀 수 없도록 고정
                                    validate = true; // 체크 완료
                                    idText.setBackgroundColor(getResources().getColor(R.color.colorGray));
                                    validateButton.setBackgroundColor(getResources().getColor(R.color.colorGray));
                                }*/
    
                                /*// 중복체크 실패 (사용할 수 없는 아이디)
                                else {
                                    new CustomConfirmDialog().showConfirmDialog(RegisterActivity.this,"사용할 수 없는 아이디입니다.",true);
                                }*/
                            }
    
                            catch (Exception e)
                            {
                                e.printStackTrace();
                            }
                        }
                    };
    
                    // 실질적으로 접속할 수 있도록 생성자를 통해 객체를 만든다. (유저 ID, responseListener)
                    // ValidateRequest.java라는 파일을 만들어야 한다.
                    sms1 sms2 = new sms1(id,sms, responseListener);
                    RequestQueue queue = Volley.newRequestQueue(MainActivity.this);
                    queue.add(sms2);
    
    
                }
                                        }
            );
        }
    }
    
    1. SMS1
    2. sms1使用了StringReqeust。 这是我第一次。这太难了。 我不知道为什么需要听众。所以我想让它尽可能不受影响。

      package com.example.user.myapplication;
      
      import com.android.volley.Response;
      import com.android.volley.toolbox.StringRequest;
      
      import java.lang.reflect.Method;
      import java.util.HashMap;
      import java.util.Map;
      
      /**
       * Created by User on 2018-02-05.
       */
      
      public class sms1 extends StringRequest {
      
          final static private String URL = "http://aaaai21018a.cafe24.com/smsAdd.php";
          private Map<String, String> parameters;
      
          public sms1(String userID, String smsNum1,Response.Listener<String> listener) {
              super(Method.POST, URL, null, null);
              parameters = new HashMap<>();
              parameters.put("userID", userID);
              parameters.put("smsNum1", smsNum1);
             /* parameters.put("userGender", userGender);
              parameters.put("userMajor", userMajor);
              parameters.put("userEmail", userEmail);*/
          }
      
          public Map<String, String> getParameters() {
              return parameters;
          }
      }
      

      我一直很担心。这是我的第一个问题。

      谢谢。

1 个答案:

答案 0 :(得分:0)

试试此代码

<?php

    $con = mysqli_connect("localhost", "------", "------", "------");


    $userID = $_POST["userID"];
    $smsNum1 = $_POST["smsNum1"];



    $statement = mysqli_prepare($con, "INSERT INTO SMSList VALUES (?, ?)");
    mysqli_stmt_bind_param($statement, "ss", $userID, $smsNum1);
    mysqli_stmt_execute($statement);


    $response = array();
    $response["success"] = true;

    echo json_encode($response);
?>
相关问题