Android:无法在mysql数据库中插入数据 [英] Android: Unable to insert data in mysql database

查看:77
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆