我正在嘗試開發一個連接到MySQL數據庫的android應用程序。Android,PHP和MySQL
我使用PHP作爲Web Service解析JSON數組中的數據。
但是,當我點擊進行該過程時,什麼也沒有發生,數據不會被添加到數據庫中。 首先我更改了代碼,並且我使用AsynTask<>
來避免RunningOnMainThread異常,但y無法使其工作。
有什麼建議嗎?
下面的代碼:
PHP:
<?php
$hostname ="localhost";
$database ="traffic_qro";
$username ="root";
$password ="";
$localhost = mysql_connect($hostname,$username,$password);
mysql_select_db("traffic_qro");
$name = $_REQUEST['driver_name'];
$number = $_REQUEST['driver_number'];
$plate = $_REQUEST['driver_plate'];
$brand = $_REQUEST['driver_brand'];
$model = $_REQUEST['driver_model'];
$sql = "INSERT INTO users VALUES('".$name."', '".$number."', '".$plate."', '".$brand."', '".$model."'');";
$res = mysql_query($sql);
if(!$res) {
echo "Error in query: ".mysql_error();
}
mysql_close();
?>
DBTask.java
class DBTask extends AsyncTask<String, Void, Void> {
protected Void doInBackground(String... args) {
InputStream is = null;
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("driver_name", args[0]));
nameValuePairs.add(new BasicNameValuePair("driver_number", args[1]));
nameValuePairs.add(new BasicNameValuePair("driver_plate", args[2]));
nameValuePairs.add(new BasicNameValuePair("driver_brand", args[3]));
nameValuePairs.add(new BasicNameValuePair("driver_model", args[4]));
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"http://192.168.1.85/traffic_qro/add_client_doc.php");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
Log.e("log_tag", is.toString());
} catch (Exception e) {
Log.e("log_tag", "Error in http connection" + e.toString());
}
return null;
}
protected void onPostExecute(String feed) {
// TODO: check this.exception
// TODO: do something with the feed
}
}
實施OD DBTask.java
new DBTask().execute(driver_name, drvr_num, driver_car_plate,
driver_car_brand, driver_car_model);
你從遠程PHP服務器接收響應? –