Android:无法在mysql数据库中插入数据 [英] Android: Unable to insert data in mysql database
本文介绍了Android:无法在mysql数据库中插入数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是Android开发的新手。正在制作应用程序的位置,用户将通过Android中的注册表单向我们注册。但我没有得到任何错误,也没有得到输出。
这是java的源代码:
package com.example.entrepreneurexpress;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class InvestorRegister extends 活动{
EditText YourName;
EditText电子邮件;
EditText密码;
EditText confirmPassword;
Button btnClear,btnRegister;
String nm,emailAdd,cnfPass,pwd;
@ SuppressLint ({ NewApi, CutPasteId})
@ Override
protected void onCreate(Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder()。permitAll()。build();
StrictMode.setThreadPolicy(policy);
setContentView(R.layout.investors_registration);
ActionBar aBar = getActionBar();
aBar.setDisplayHomeAsUpEnabled(true);
YourName =(EditText)findViewById(R.id.invRegName);
email =(EditText)findViewById(R.id.invRegEmail);
password =(EditText)findViewById(R.id.invRegPassword);
confirmPassword =(EditText)findViewById(R.id.invRegConfPassword);
btnClear =(Button)findViewById(R.id.btnInvRegClear);
btnClear.setOnClickListener( new View.OnClickListener(){
@ Override
public void onClick(查看v){
if (YourName.length()> = 1 ){
YourName.setText( );
}
if (email .length()> = 1 ){
email.setText( );
}
if (password.length()> = 1 ){
password.setText( );
}
if (confirmPassword.length()> = 1 ){
confirmPassword.setText( );
}
}
});
btnRegister =(Button)findViewById(R.id.btnInvRegRegister);
btnRegister.setOnClickListener( new OnClickListener(){
public void onClick(查看v){
if (
(YourName.getText()。toString( ).equals( ))&&
(password.getText() .toString()。equals( ))&&
(confirmPassword。 getText()。toString()。equals( ))&&
(email.getText()。toString()。equals( ))
)
{
Toast.makeText(getApplicationContext(),
一个或多个字段是空的,Toast.LENGTH_SHORT)。show();
} else {
nm = YourName.getText()。toString();
pwd = password.getText()。toString();
cnfPass = confirmPassword.getText()。toString();
emailAdd = email.getText()。toString();
insertRecords(nm,pwd,emailAdd);
}
}
});
}
private void insertRecords( String fullname, String passWord, String emailAddress){
ArrayList< NameValuePair> nameValuePairs = new ArrayList< NameValuePair>( 3 );
nameValuePairs.add( new BasicNameValuePair( invName,fullname));
nameValuePairs.add( new BasicNameValuePair( invEmail,emailAddress));
nameValuePairs.add( new BasicNameValuePair( invPassword,passWord));
sendData(nameValuePairs);
}
private void sendData(ArrayList< NameValuePair> data ){
try
{
HttpClient httpclient = new DefaultHttpClient( );
HttpPost httppost = new HttpPost( http ://10.0.2.2/AdroidApp/insert.php跨度>);
httppost.setEntity( new UrlEncodedFormEntity(data));
HttpResponse response = httpclient.execute(httppost);
HttpEntity httpEntity = response.getEntity();
} catch (UnsupportedEncodingException e){
e.printStackTrace();
} catch (ClientProtocolException e){
e.printStackTrace();
} catch (IOException e){
e.printStackTrace();
}
}
@覆盖
public boolean onCreateOptionsMenu(菜单菜单){
getMenuInflater()。inflate(R.menu.main,menu);
返回 true;
}
@覆盖
public boolean onOptionsItemSelected(MenuItem item){
int id = item.getItemId();
if (id == R.id.action_settings){
return true ;
}
return super .onOptionsItemSelected(item);
}
}
这是php的源代码:
<?php
$ output = array ();
$ con = mysqli_connect( localhost, root, root, AndroidApp 跨度>);
if(!$ con){
echo 连接已中止!< br />。 mysqli_error($ CON);
} 其他 {
echo 连接成功!< br />;
}
$ name = isset($ _ POST ['' fullname'])? $ _POST [' fullname']:' ';
$ email = isset($ _ POST [' emailAddress'])? $ _POST [' emailAddress']:' ';
$ pasword = isset($ _ POST [' passWord'])? $ _POST [' passWord']:' ';
$ query = mysqli_query($ con, INSERT INTO Investors
(`invName`,`invEmail`,`invPassword`)
VALUES('。$ name。 ','。$ email。 ','。$ pasword。 '));
if ($ query)
{
$ output [ success] = 1 ;
$ output [ message] = 已成功插入;
echo json_encode($ output);
} else {
$ output [ 成功] = 0 ;
$ output [ message] = 插入失败......;
echo json_encode($ output);
}
mysqli_close($ con);
?>
解决方案
输出 = array();
con = mysqli_connect( localhost, root , root, AndroidApp跨度>);
if(!
con){
echo 连接已中止!< br />。 mysqli_error(
I am new to android development. Am making the app where in the user will get registered with us through the registration form in android. But the i don't get any errors nor i get the output.
Here's the source code for java:
package com.example.entrepreneurexpress;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
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.annotation.SuppressLint;
import android.app.ActionBar;
import android.app.Activity;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class InvestorRegister extends Activity {
EditText YourName;
EditText email;
EditText password;
EditText confirmPassword;
Button btnClear, btnRegister;
String nm, emailAdd, cnfPass, pwd;
@SuppressLint({ "NewApi", "CutPasteId" })
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
setContentView(R.layout.investors_registration);
ActionBar aBar = getActionBar();
aBar.setDisplayHomeAsUpEnabled(true);
YourName = (EditText) findViewById(R.id.invRegName);
email = (EditText) findViewById(R.id.invRegEmail);
password = (EditText) findViewById(R.id.invRegPassword);
confirmPassword = (EditText) findViewById(R.id.invRegConfPassword);
btnClear = (Button) findViewById(R.id.btnInvRegClear);
btnClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (YourName.length() >= 1) {
YourName.setText("");
}
if (email.length() >= 1) {
email.setText("");
}
if (password.length() >= 1) {
password.setText("");
}
if (confirmPassword.length() >= 1) {
confirmPassword.setText("");
}
}
});
btnRegister = (Button) findViewById(R.id.btnInvRegRegister);
btnRegister.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
if (
( YourName.getText().toString().equals("")) &&
( password.getText().toString().equals("")) &&
( confirmPassword.getText().toString().equals("")) &&
( email.getText().toString().equals(""))
)
{
Toast.makeText(getApplicationContext(),
"One or more fields are empty", Toast.LENGTH_SHORT).show();
} else {
nm = YourName.getText().toString();
pwd = password.getText().toString();
cnfPass = confirmPassword.getText().toString();
emailAdd = email.getText().toString();
insertRecords(nm, pwd, emailAdd);
}
}
});
}
private void insertRecords(String fullname, String passWord, String emailAddress) {
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("invName", fullname));
nameValuePairs.add(new BasicNameValuePair("invEmail", emailAddress));
nameValuePairs.add(new BasicNameValuePair("invPassword", passWord));
sendData(nameValuePairs);
}
private void sendData(ArrayList<NameValuePair> data) {
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/AdroidApp/insert.php");
httppost.setEntity(new UrlEncodedFormEntity(data));
HttpResponse response = httpclient.execute(httppost);
HttpEntity httpEntity = response.getEntity();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
}
Here's the source code for php:
<?php
$output = array();
$con = mysqli_connect("localhost", "root", "root", "AndroidApp");
if(!$con) {
echo "Connection Aborted !<br />" . mysqli_error($con);
} else {
echo "Connection Successful !<br />";
}
$name = isset($_POST['fullname']) ? $_POST['fullname'] : '';
$email = isset($_POST['emailAddress']) ? $_POST['emailAddress'] : '';
$pasword = isset($_POST['passWord']) ? $_POST['passWord'] : '';
$query = mysqli_query($con, "INSERT INTO Investors
(`invName`, `invEmail`, `invPassword`)
VALUES('".$name."', '".$email."', '".$pasword."')");
if ($query)
{
$output["success"] = 1;
$output["message"] = "Successfully Inserted";
echo json_encode($output);
} else {
$output["success"] = 0;
$output["message"] = "insertion failed......";
echo json_encode($output);
}
mysqli_close($con);
?>
解决方案
output = array();
con = mysqli_connect("localhost", "root", "root", "AndroidApp"); if(!
con) { echo "Connection Aborted !<br />" . mysqli_error(
这篇关于Android:无法在mysql数据库中插入数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文