Bonjour,

Je souhaite insérer un nom et un prénom dans ma base de données MySQL à partir de mon application android et d'un script php mais ma requête ne s'exécute pas.

Voici mon script php :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
<?php
	mysql_connect("****","****","****") or die("erreur de connexion au serveur");
	mysql_select_db("***");
	$sql=mysql_query("INSERT INTO Users (Prénom, Nom) VALUES ('".$_POST['prenom']."','".$_POST['nom']."')");
	//while($row=mysql_fetch_assoc($requete))
	  	//$output[]=$row;
	  //print(json_encode($output));
	mysql_close();
?>
J'ai testé cette requête, elle marche très bien.

Voici le code java de mon application android :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
@Override
			  public void onClick(View v) {
				  prenom.setText("ça marche !!");
				  try {
				  HttpPost httpPost = new HttpPost("http://www.brieg-web.fr/insert_user.php");
				  List<NameValuePair> postParameters = new ArrayList<NameValuePair>(2); 
				  //On crée la liste qui contiendra tous nos paramètres
				  //Et on y rajoute nos paramétres
				  postParameters.add(new BasicNameValuePair("prenom", "toto"));
				  postParameters.add(new BasicNameValuePair("nom", "toto"));
				  httpPost.setEntity(new UrlEncodedFormEntity(postParameters));
				  HttpClient httpclient = new DefaultHttpClient();
				  httpclient.execute(httpPost); //Voila, la requête est envoyée
				  } catch (Exception e) {}
			  }
J'ai fais pleins de tests mais je n'arrive pas à voir d'où vient le problème.

Dans LogCat, j'ai ces messages d'erreurs :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
01-09 17:27:24.450: E/AndroidRuntime(4759): FATAL EXCEPTION: main
01-09 17:27:24.450: E/AndroidRuntime(4759): Process: com.example.whoissam, PID: 4759
01-09 17:27:24.450: E/AndroidRuntime(4759): android.os.NetworkOnMainThreadException
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1145)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at java.net.InetAddress.getAllByName(InetAddress.java:214)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at com.example.whoissam.MainActivity$1.onClick(MainActivity.java:68)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.view.View.performClick(View.java:4424)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.view.View$PerformClick.run(View.java:18383)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.os.Handler.handleCallback(Handler.java:733)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.os.Handler.dispatchMessage(Handler.java:95)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.os.Looper.loop(Looper.java:137)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at android.app.ActivityThread.main(ActivityThread.java:4998)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at java.lang.reflect.Method.invokeNative(Native Method)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at java.lang.reflect.Method.invoke(Method.java:515)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:777)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:593)
01-09 17:27:24.450: E/AndroidRuntime(4759): 	at dalvik.system.NativeStart.main(Native Method)
Si quelqu'un sait d'où vient mon problème ?

Merci d'avance.