Вставьте данные в базу данных MySQL из приложения Android. Изменения не отражены в базе данных

Я пишу приложение для вставки данных в базу данных MySQL. Я написал SQL-запрос в PHP, и когда я ввожу значения в приложение Android, я не вижу никаких ошибок в log cat, но значения не сохраняются в базе данных.

Вот код 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); ?> 

Вот часть Android:

 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(); } } }); } 

Я новичок как для Android, так и для PHP-кодирования. Может ли кто-нибудь сказать мне, где проблема в моем коде? Мне нужно это для моей проектной работы.

Solutions Collecting From Web of "Вставьте данные в базу данных MySQL из приложения Android. Изменения не отражены в базе данных"

Только один момент: чтобы получить ценность из Android EditText, мы используем

 x.getText().toString(); 

где x – объект EditText, правильно? надеюсь, что это поможет вообще.

Но поскольку это делается в onCreate (), а не внутри onClick () – вы должны изменить:

 nameValuePairs.add(new BasicNameValuePair("sphone", sPhone)); 

в

 nameValuePairs.add(new BasicNameValuePair("sphone", phonenum.getText().toString())); 

И аналогично для другого. Приветствия.

Как я вижу, вы используете «sPhone» и «sphone» в качестве ключей. Я бы рекомендовал иметь его как с одинаковыми именами.

 nameValuePairs = new ArrayList<NameValuePair>(2); nameValuePairs.add(new BasicNameValuePair("sphone", sPhone)); nameValuePairs.add(new BasicNameValuePair("spassword", sPassword)); 

И в PHP

 $_POST['sphone'] $_POST['spassword']