已解决:我的网址错误。"rating" 应该是 rating* s *"
这是我的 Java,我在其中获取两个参数 (BasicNameValuePairs) 并推送到 PHP。
protected Void doInBackground(String... params) {
String url_select = "http://www.---.com/---/insert_rating.php";
ArrayList<NameValuePair> param = new ArrayList<NameValuePair>();
param.add(new BasicNameValuePair("rating", String.valueOf(ratingsDouble)));
param.add(new BasicNameValuePair("item", String.valueOf(Item)));
HttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url_select);
try {
httpPost.setEntity(new UrlEncodedFormEntity(param));
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
// read content
is = httpEntity.getContent();
} catch (Exception e) {
Log.e("log_tag", "Error in http connection " + e.toString());
}
return null;
}
这是我的 PHP,我在其中获取我的 Android 参数:
$ratings=$_REQUEST['rating'];
$item=$_REQUEST['item'];
其余的 PHP 大部分是不需要的,因为当我硬编码一个字符串时,例如:
$ratings = "5.0"
...它将在数据库中传递;所以我知道最终是有效的(PHP 到 MySQL)。但是当我使用 $_REQUEST 时,它不起作用。在 Java 端,我通过 toast 确认这两个参数在传递到 onCreate 方法或任务中的 doPostExecute 方法时是正确的。
我是否错过了如何将变量从 Android 正确传递到 PHP 中?