我正在使用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 ----------------------
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);
}
}
);
}
}
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;
}
}
我一直很担心。这是我的第一个问题。
谢谢。
答案 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);
?>