0
我使用下面的代碼將數據發佈到我的服務器Android的HTTP POST到PHP腳本
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.kizikstudios.com/wltbo/new_score.php");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("name", "harry"));
nameValuePairs.add(new BasicNameValuePair("score", "12345"));
nameValuePairs.add(new BasicNameValuePair("pass", "***"));
HttpEntity entity = new UrlEncodedFormEntity(nameValuePairs);
httppost.addHeader(entity.getContentType());
httppost.setEntity(entity);
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
String feedback = EntityUtils.toString(response.getEntity());
feedback.length();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
服務器接收發布請求,但它說,大小是零個字節,我的數據庫永遠不會改變。如果需要,這裏是服務器端腳本。
<?
//****Made by: Jeroen den Haan***Alias's: jeroen84/Jer'ul****
include_once ("_data.php");
$conn = mysql_connect($db_host,$db_user,$db_pass);
mysql_select_db($db_name,$conn);
if ($pass==$add_pass) {
if ($u_user==1) {
$sql3 = "SELECT name FROM $db_table ORDER BY name";
$result3 = mysql_query($sql3);
while($r = mysql_fetch_object($result3))
{
$tmp = "{$r->name}";
if ($name==$tmp) {
$n_exist=1;
}
}
if ($n_exist==1) {
$sql1 = "UPDATE $db_table SET score='$score' WHERE name=\"$name\"";
$result1 = mysql_query($sql1);
} else {
$sql1 = "INSERT INTO $db_table (name,score) VALUES (\"$name\",\"$score\")";
$result1 = mysql_query($sql1);
}
} else {
$sql1 = "INSERT INTO $db_table (name,score) VALUES (\"$name\",\"$score\")";
$result1 = mysql_query($sql1);
}
$sql2 = "SELECT id FROM $db_table ORDER BY score DESC";
$result2 = mysql_query($sql2);
$num = 1;
while($r = mysql_fetch_object($result2))
{
$result = mysql_db_query($db_name,"SELECT * from $db_table WHERE id='{$r->id}'");
$resultArray = mysql_fetch_array($result);
$did = $resultArray["id"];
$name = $resultArray["name"];
$score = $resultArray["score"];
if ($num>$sec_size) {
$sql3 = "DELETE FROM $db_table WHERE id='$did'";
$result3 = mysql_query($sql3);
}
$num++;
}
}
mysql_close ($conn);
?>
有沒有人知道爲什麼這不起作用?先謝謝你!
您是否嘗試直接在瀏覽器中使用php腳本?它工作嗎? – Arfeen 2012-02-28 07:22:44
你的腳本不輸出/顯示/打印任何東西..它怎麼能返回一些東西給Android客戶端...? – Arfeen 2012-02-28 07:23:58
你的php代碼沒有捕捉到從android獲得的值。 – Sumant 2012-02-28 07:34:34