Я пытаюсь вставить данные из приложения android в таблицу базы данных mysql. но каким-то образом данные не вставлены. Я думаю, что андроид и база данных mysql не связаны. Я не получаю никаких ошибок со стороны Android. но на стороне php … если я запустил url. Я получаю уведомления. что неопределенные переменные. но эти переменные находятся в android.
Это мой боковый код для Android:
package com.example.insertintophp; import java.util.ArrayList; import org.apache.http.HttpResponse; import org.apache.http.NameValuePair; import org.apache.http.client.HttpClient; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.HttpPost; import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.message.BasicNameValuePair; import android.os.Bundle; import android.app.Activity; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; public class MainActivity extends Activity { EditText name,city,email,contact,msg; Button insert; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); name =(EditText)findViewById(R.id.txtname); city =(EditText)findViewById(R.id.txtcity); email =(EditText)findViewById(R.id.txteid); contact =(EditText)findViewById(R.id.txtno); msg =(EditText)findViewById(R.id.txtmsg); insert=(Button)findViewById(R.id.btninsert); insert.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub String nm = name.getText().toString(); String ct = city.getText().toString(); String emailid = email.getText().toString(); String no = contact.getText().toString(); String str = msg.getText().toString(); insertRecords(nm, ct, emailid, no, str); } private void insertRecords(String nm,String ct,String emailid,String no,String str) { ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(5); nameValuePairs.add(new BasicNameValuePair("name", nm)); nameValuePairs.add(new BasicNameValuePair("city",ct)); nameValuePairs.add(new BasicNameValuePair("email",emailid)); nameValuePairs.add(new BasicNameValuePair("contact",no)); nameValuePairs.add(new BasicNameValuePair("msg",str)); sendData(nameValuePairs); } private void sendData(ArrayList<NameValuePair> data) { try { HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://10.0.2.2:8080/demo/insertData.php"); httppost.setEntity(new UrlEncodedFormEntity(data)); HttpResponse response = httpclient.execute(httppost); } catch (Exception e) { // TODO: handle exception Log.e("log_tag", "Error: "+e.toString()); } } }); } }
И это мой php-код:
<?php $icon = mysql_connect("localhost","root",""); if(!$icon) { die('Could not connect : ' . mysql_error()); } mysql_select_db("db_best_voyage", $icon)or die("database selection error"); echo json_encode($data); $name=$_POST['name']; $city=$_POST['city']; $email = $_POST['email']; $contact = $_POST['contact']; $msg = $_POST['msg']; mysql_query("INSERT INTO ctable (name,city,email,contact,msg) VALUES ('".$name."', '".$city."', '".$email."', '".$contact."', '".$msg."')"); mysql_close($icon); ?>