Insérer des données dans une base de données MySQL à partir de l'application Android. Des modifications ne sont pas répercutées dans la base de données
Je suis en train d'écrire une application pour insérer des données dans une base de données MySQL. J'ai écrit la requête sql en PHP et quand je entrer des valeurs dans l'application android, je n'ai pas vu toutes les erreurs dans le journal de chat, mais les valeurs ne sont pas stockées dans la base de données.
Voici le code PHP:
<?php
$connect = mysqli_connect("localhost","root","","easyassigndroid");
if(mysqli_connect_errno($connect))
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
else
{
echo "success";
}
$username = isset($_POST['sPhone']) ? $_POST['sPhone'] : '';
$password = isset($_POST['sPassword']) ? $_POST['sPassword'] : '';
$query = mysqli_query($connect, "insert into users (sphone, spassword) values ('$username' ,'$password') ");
mysqli_close($connect);
?>
Voici le android partie:
protected void onCreate(Bundle savedInstanceState) {
//TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.register_lecturer);
phonenum = (EditText) findViewById(R.id.id_phone);
password = (EditText) findViewById(R.id.id_password);
sPhone = phonenum.toString();
sPassword = password.toString();
registerLecturer=(Button)findViewById(R.id.lecturerregister);
registerLecturer.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//TODO Auto-generated method stub
httpclient = new DefaultHttpClient();
httppost = new HttpPost("http://10.0.2.2/project/insert.php");
try
{
nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("sphone", sPhone));
nameValuePairs.add(new BasicNameValuePair("spassword", sPassword));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpclient.execute(httppost);
}
catch(Exception e)
{
e.printStackTrace();
}
}
});
}
Je suis un débutant à la fois Android et de programmation PHP. Quelqu'un peut me dire où est le problème dans mon code? J'en ai besoin pour mon projet de travail.
- Je pense que vous obtenez l'exception de sorte que pourquoi pas insérer des données dans la base de données. Le débogage de votre application.
- Est le code PHP correct? Et comment sur le code Android?
- PHP code a l'air correct (dans la mesure où les noms de base de données et les entrées sont justes). Je conseille de l'essayer d'abord avec $_GET, parce que vous pouvez facilement vérifier si le code PHP est correct.
- Je ne peux toujours pas voir de changements apparaissent dans la base de données :'(
Vous devez vous connecter pour publier un commentaire.
Juste un point: pour obtenir la valeur à partir d'un Android EditText nous utilisons
où x est un EditText objet, à droite? espérons que cela aide à tous.
Mais, comme cela est fait dans le onCreate() - plutôt qu'à l'intérieur de la onClick() - vous devez changer:
à
Et de même pour l'autre.
Des acclamations.
Que je peux voir, vous ar à l'aide de "sPhone" et "sphone" comme clés. Je vous recommande d'avoir les deux avec les mêmes noms.
Et en PHP
phonenum.toString()
. Pour obtenir le texte contenu de phonenum, vous devez utiliser getText() sur l'EditText.