Я пытаюсь вставить данные в mysql через php-файл, который содержит 3 запроса, в которых выполняется первый запрос выбора, а затем вставлять и после этого обновления. выбор и обновление выполняется на одной и той же таблице, тогда как попытка вставить в другую таблицу через php в приложение для Android.
Вот мой java-код mainactivity.java
package com.lab.myospaz.insert; import android.app.ProgressDialog; import android.os.AsyncTask; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.Toast; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; public class MainActivity extends AppCompatActivity implements View.OnClickListener{ private EditText editTextName; private EditText editTextnumber; private EditText editTextstandard; private EditText editTextgender; private EditText editTextinstitute; private EditText editTextloction; private EditText editTextactivation; private EditText editTextEmail; private Button buttonRegister; private static final String REGISTER_URL = "http://register.mobilekipathshala.com/StudentActivation.php"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextName = (EditText) findViewById(R.id.editTextName); editTextnumber = (EditText) findViewById(R.id.editTextnumber); editTextstandard = (EditText) findViewById(R.id.editTextstandard); editTextinstitute = (EditText) findViewById(R.id.editTextinstitute); editTextloction = (EditText) findViewById(R.id.editTextloction); editTextgender = (EditText) findViewById(R.id.editTextgender); editTextEmail = (EditText) findViewById(R.id.editTextEmail); editTextactivation = (EditText) findViewById(R.id.editTextactivation); buttonRegister = (Button) findViewById(R.id.buttonRegister); buttonRegister.setOnClickListener(this); } @Override public void onClick(View v) { if(v == buttonRegister){ registerUser(); } } private void registerUser() { String full_name = editTextName.getText().toString().trim().toLowerCase(); String contact_number = editTextnumber.getText().toString().trim().toLowerCase(); String email_address = editTextEmail.getText().toString().trim().toLowerCase(); String location = editTextloction.getText().toString().trim().toLowerCase(); String institute = editTextinstitute.getText().toString().trim().toLowerCase(); String standard= editTextstandard.getText().toString().trim().toLowerCase(); String gender = editTextgender.getText().toString().trim().toLowerCase(); String code = editTextactivation.getText().toString().trim().toLowerCase(); register(full_name,contact_number,email_address,location,institute,standard,gender,code); } private void register(String full_name, String contact_number, String email_address, String location,String institute,String standard,String gender,String code) { class RegisterUser extends AsyncTask<String, Void, String>{ ProgressDialog loading; RegisterUserClass ruc = new RegisterUserClass(); @Override protected void onPreExecute() { super.onPreExecute(); loading = ProgressDialog.show(MainActivity.this, "Please Wait",null, true, true); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); loading.dismiss(); Toast.makeText(getApplicationContext(),s,Toast.LENGTH_LONG).show(); } @Override protected String doInBackground(String... params) { HashMap<String, String> data = new HashMap<String,String>(); data.put("full_name",params[0]); data.put("contact_number",params[1]); data.put("email_address",params[2]); data.put("location",params[3]); data.put("institute",params[4]); data.put("standard",params[5]); data.put("gender",params[6]); data.put("code",params[7]); String result = ruc.sendPostRequest(REGISTER_URL,data); return result; } } RegisterUser ru = new RegisterUser(); ru.execute(full_name,contact_number,email_address,location,institute,standard,gender,code); } }
вот еще один класс RegisterUser.java
package com.lab.myospaz.insert; /** * Created by asus1 on 14-Jul-2016. */ import org.apache.http.HttpException; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.OutputStreamWriter; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.util.HashMap; import java.util.Map; import javax.net.ssl.HttpsURLConnection; /** * Created by Belal on 8/6/2015. */ public class RegisterUserClass { public String sendPostRequest(String requestURL, HashMap<String, String> postDataParams) { URL url; String response = ""; try { url = new URL(requestURL); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout(15000); conn.setConnectTimeout(15000); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); OutputStream os = conn.getOutputStream(); BufferedWriter writer = new BufferedWriter( new OutputStreamWriter(os, "UTF-8")); writer.write(getPostDataString(postDataParams)); writer.flush(); writer.close(); os.close(); int responseCode=conn.getResponseCode(); if (responseCode == HttpsURLConnection.HTTP_OK) { BufferedReader br=new BufferedReader(new InputStreamReader(conn.getInputStream())); response = br.readLine(); } else { response="Error Registering"; } } catch (Exception e) { e.printStackTrace(); } return response; } private String getPostDataString(HashMap<String, String> params) throws UnsupportedEncodingException { StringBuilder result = new StringBuilder(); boolean first = true; for(Map.Entry<String, String> entry : params.entrySet()){ if (first) first = false; else result.append("&"); result.append(URLEncoder.encode(entry.getKey(), "UTF-8")); result.append("="); result.append(URLEncoder.encode(entry.getValue(), "UTF-8")); } return result.toString(); } }
и вот мой php-файл
<?php //Database Connection $conn = new mysqli('127.0.0.1', 'mobileki_factum', '%bq41214xA5&}wp)o','mobileki_amit'); if ($mysqli->connect_error) { die('Connect Error (' . $mysqli->connect_errno . ') ' . $mysqli->connect_error); } $sql1="select "; $code=$_POST['code']; if(isset($_POST["submit"])){ $query = "SELECT * FROM `mobileki_amit`.`activations` WHERE code='$code' AND status='not used'"; $result=$conn->query($query); if($result->num_rows > 0) { $fname=$_POST['fname']; $email=$_POST['email_address']; $contact=$_POST['contact_number']; $gender=$_POST['gender']; $location=$_POST['location']; $stander=$_POST['standard']; $institute=$_POST['institute']; $code=$_POST['code']; $sql1="INSERT INTO `students`(`full_name`, `email_address`, `contact_number`, `gender`, `location`, `standard`, `institute`) VALUES('$fname','$email','$contact','$gender','$location','$stander','$institute');"; if($conn->query($sql1)===TRUE){ echo "new recored is successful AND"; $mysql_query="UPDATE `activations` SET `status` = 'in use' WHERE `CODE` = '$code'"; // or die(mysql_error()); if($conn->query($mysql_query)===TRUE){ echo "recored is updated successful"; } else { echo "no recored updated "; } } else{ echo "not able to insert"; } when trying to run this i am getting a blank output neither it shows any error nor the data is being inserted.Can anyone tell me where iam getting wrong?