Android应用程序将数据发送到PHP脚本 - 期望失败

时间:2010-12-23 19:17:39

标签: php android

我尝试开发一个需要将数据发送到MySql数据库的应用程序。 为了实现它,我创建了一个httppost,如下所示

public void postData() {    
     try {
       // Create a new HttpClient and Post Header 
      HttpClient httpclient = new DefaultHttpClient();  
      HttpPost httppost = new HttpPost("myscript.php");  
   // Add your data 
         List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
         nameValuePairs.add(new BasicNameValuePair("name", "Noon"));  
         nameValuePairs.add(new BasicNameValuePair("level", "0"));  
         httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));  

         // Execute HTTP Post Request  
         HttpResponse response = httpclient.execute(httppost);           
         String text = EntityUtils.toString(response.getEntity());          
            Log.i("","response = "+text); 
     } catch (ClientProtocolException e) {  
         // TODO Auto-generated catch block 
      e.printStackTrace();
     } catch (IOException e) {  
         // TODO Auto-generated catch block  
      e.printStackTrace();
     }  
 }   

在我的服务器上,我有以下脚本:

<?php
$link = mysql_connect("localhost", "user", "password")
    or die("Impossible de se connecter : " . mysql_error());
echo 'Connected';

$db_selected = mysql_select_db('db', $link);
if (!$db_selected) {
   die ('Impossible de sélectionner la base de données : ' . mysql_error());
}
mysql_query("INSERT INTO players (name, level) VALUES ('".$_REQUEST['name']."', '".$_REQUEST['level']."')");
mysql_close($link);
?>

字符串文本填充错误417 - 期望失败。

我理解这个问题,但不明白如何解决它。 我很感激你对这个问题的帮助,因为我有点卡住了。

4 个答案:

答案 0 :(得分:2)

您永远不会输入服务器URL。 android怎么会知道如何处理这个

HttpPost httppost = new HttpPost("myscript.php");

您还应该更好地格式化代码。

答案 1 :(得分:0)

感谢您的快速回答。问题是我确实在HttpPost中添加了一个正确的URL,但我不想在云端显示它。 这就是我从剧本得到回应的原因。

答案 2 :(得分:0)

你应该这样做:

HttpPost httppost = new HttpPost("myscript.php");
httppost.getParams().setBooleanParameter(CoreProtocolPNames.USE_EXPECT_CONTINUE, false); 

答案 3 :(得分:-1)

我认为FAlmarri是对的。你应该把你脚本的完整网址放在

 HttpPost httppost = new HttpPost("myscript.php");

你应该使用

  

HttpPost httppost = new   HttpPost(“ http://abc.com/folder path   你的脚本/ myscript.php “);