Приложение Android отправляет данные в PHP-скрипт – Ожидание не выполнено

Я пытаюсь разработать приложение, которое необходимо отправить данные в базу данных 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 – ожидание не выполнено.

Я понимаю проблему, но не понимаю, как ее исправить. Буду признателен за вашу помощь по этому вопросу, поскольку я немного застрял.

Вы никогда не добавляете URL-адрес сервера. Как андроид должен знать, что с этим делать

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

Вы также должны форматировать свой код лучше.

Спасибо за быстрый ответ. Проблема в том, что я установил правильный URL-адрес в HttpPost, но я не хотел показывать его, как на облаке. Вот почему я получаю ответ от скрипта.

Вы должны сделать что-то вроде этого:

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

Я думаю, что Фальмарри прав. вы должны поместить свой полный URL-адрес своего скрипта в

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

вы должны использовать

HttpPost httppost = новый HttpPost (« http://abc.com/folder path вашего скрипта / myscript.php »);