早上好,我正在android studio中做一个应用程序我正在使用php连接到MYSQL数据库。
但是,当我使用单个参数对我的数据库进行查询时,它可以正常工作,但我做了一个修改,发送了两个参数并且它不起作用,因为我验证了我的php并且查询运行正常但是** Android * *表示执行我的程序时出错,我正在寻找错误可能但我没有找到它没有正确执行的原因
机器人
public class Principal extends AppCompatActivity {
Spinner opciones;
Button Consultar;
EditText Cons;
JSONArray ja;
Tabla_Consulta tabla;
LinearLayout linearLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_principal);
opciones = (Spinner) findViewById(R.id.spinner);
Consultar = (Button) findViewById(R.id.button_consultar);
Cons = (EditText) findViewById(R.id.editText_Consulta);
tabla = new Tabla_Consulta(this, (TableLayout) findViewById(R.id.tabla));
ArrayAdapter < CharSequence > adapter = ArrayAdapter.createFromResource(this, R.array.Opc, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.preference_category);
opciones.setAdapter(adapter);
Consultar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String selec = opciones.getSelectedItem().toString();
String selec1 = Cons.getText().toString();
Consulta("http://10.0.2.2/Libro_Titulo.php?eje=" + opciones.getSelectedItem().toString() + "&" + "Tit=" + Cons.getText().toString());
//Consulta("http://10.0.2.2/Biblioteca/Libro_Id.php?ide="+Cons.getText().toString());
// Log.d("query", );
Log.d("query", selec + " " + Cons.getText().toString());
Log.d("query", selec + " " + selec1);
}
});
}
private void Consulta(String URL) {
Log.i("conexion", URL);
RequestQueue queue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest(Request.Method.GET, URL, new Response.Listener < String > () { //EL ERROR ESTA EN ESTA LINEA
@Override
public void onResponse(String response) {
int j = 1;
Log.d("reponse", response);
try {
ja = new JSONArray(response);
tabla.agregarCabecera(R.array.Opciones);
for (int i = 0; i < ja.length(); i++) {
JSONObject c = ja.getJSONObject(i);
String id = c.getString("Id");
String Titulo = c.getString("Titulo");
String Autor = c.getString("Autor");
String Editorial = c.getString("Editorial");
String Facultad = c.getString("Facultad");
String Reserva = c.getString("Reserva");
if (Reserva.equals("0")) {
Reserva = Reserva.replace("0", "Libre");
} else if (Reserva.equals("1")) {
Reserva = Reserva.replace("1", "Reserva");
}
ArrayList < String > elementos = new ArrayList < String > ();
elementos.add(Integer.toString(j));
elementos.add(id);
elementos.add(Titulo);
elementos.add(Autor);
elementos.add(Editorial);
elementos.add(Facultad);
elementos.add(Reserva);
elementos.add("BUTTON");
tabla.agregarFilaTabla(elementos);
j++;
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queue.add(stringRequest);
}
}
错误
04-17 15:31:01.276 11093-11238 / com.example.ferney.bibliotecacur E / Volley:[429] BasicNetwork.performRequest:http://10.0.2.2/Libro_Titulo.php?Consolu=Id&Tit=1的意外回应代码404
PHP
< ? php
header('Content-Type: text/html;charset=utf-8');
include('Conectar.php');
$Tit = $_GET["Tit"];
$eje=$_GET["eje"]; // para solo un archivo
$rawdata = array(); //creamos un array
if ($resultset = getSQLResultSet("SELECT * FROM `tbl_libro` WHERE $Consolu='$Tit'")) {
$rawdata = array(); //creamos un array
$i = 0;
while ($row = mysqli_fetch_array($resultset)) {
$rawdata[$i] = $row;
$i++;
}
echo json_encode($rawdata);
}
答案 0 :(得分:0)
答案 1 :(得分:0)
使用 org.apache.http
向服务器发送数据的另一种方法 ServiceHandler jsonParser = new ServiceHandler();
String URL = "http://10.0.2.2/Libro_Titulo.php?eje="+id;
String json="";
json = jsonParser.makeServiceCall(URL, ServiceHandler.GET);
makeServiceCall 访问以下链接