【发布时间】:2013-11-21 17:04:15
【问题描述】:
我正在尝试开发一个连接到 MySQL 数据库的安卓应用程序。
我使用 PHP 作为 Web 服务来解析 JSON 数组中的数据。
但是当我单击执行该过程时,没有任何反应,数据不会添加到数据库中。
首先我更改了代码,我使用 AsynTask<> 来避免 RunningOnMainThread 异常,但你无法让它工作。
有什么建议吗?
代码如下:
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
}
}
DBTask.java 的实现
new DBTask().execute(driver_name, drvr_num, driver_car_plate,
driver_car_brand, driver_car_model);
【问题讨论】:
-
您是否收到来自远程 PHP 服务器的响应?
标签: java php android mysql json