首页 > 解决方案 > Android应用程序连接mysql数据库

问题描述

我尝试将我的 android 应用程序连接到 MySQL 数据库。使用 postman 通过 php 文件检查连接数据库。但我仍然无法将 android 应用程序连接到 mysql 数据库。我不知道这是我的 code.stop 运行应用程序的原因。在这里我包括我的绳索部分

dbConnect.php `

<?php

    $DB_NAME ="garment";
    $DB_USER ="root";
    $DB_PASSWORD ="";
    $DB_HOST ="localhost";

    //Connecting to Database
    $con = mysqli_connect($DB_HOST,$DB_USER,$DB_PASSWORD,$DB_NAME);
if(!$con)
{
//echo "Connection Error..".mysqli_connect_error();
}
else
{
//echo"<h3>Database Connectrion success...</h3>";
}
?>

`

用户登录.php`

<?php

    require_once('dbConnect.php');

    $username = $_POST["username"];
    $password = $_POST["password"];

    $sql = "select * from login where username like '$username' and password like '$password';";

    $res = mysqli_query($con,$sql);



    if (mysqli_num_rows($res)>0) 
        {
            $row=mysqli_fetch_assoc($result);
            $name=$row["username"];
            Echo "Login success"
        }
    else
        {
            echo "failure";
        }

?>

MainActivity.java

 package com.example.gagana.garment;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;


public class MainActivity extends AppCompatActivity {

    private EditText usernametxt,passwordtxt,factoryname;
    private Button login;
    String username,password;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        usernametxt=(EditText)findViewById(R.id.txtusername);
        passwordtxt=(EditText)findViewById(R.id.txtpassword);
        factoryname=(EditText)findViewById(R.id.factoryname);
        login=(Button)findViewById(R.id.btnlogin);

    }

    public void userLogin(View view)
    {
        username = usernametxt.getText().toString();
        password = passwordtxt.getText().toString();
        String method="login";
        Constants constants=new Constants(this);
        constants.execute(method,username,password);
    }


}

Constants.java

package com.example.gagana.garment;

import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URI;
import java.net.URL;
import java.net.URLEncoder;

import javax.net.ssl.HttpsURLConnection;

public class Constants extends AsyncTask<String,Void,String> {
    AlertDialog alertDialog;

    Context ctx;
    Constants(Context ctx)
    {
        this.ctx=ctx;
    }
    @Override
    protected void onPreExecute() {
        alertDialog = new AlertDialog.Builder(ctx).create();
        alertDialog.setTitle("Login Information.....");
    }
    private static final String Root_URL = "http://192.168.8.10/android/userLogin.php";

    @Override
    protected String doInBackground(String... strings) {
        String method = strings[0];
        if(method.equals("login"))
        {
            String username=strings[1];
            String password=strings[2];

            try {
                URL url = new URL(Root_URL);
                HttpsURLConnection httpsURLConnection=(HttpsURLConnection)url.openConnection();
                httpsURLConnection.setRequestMethod("POST");
                httpsURLConnection.setDoOutput(true);
                httpsURLConnection.setDoInput(true);
                OutputStream outputStream = httpsURLConnection.getOutputStream();
                BufferedWriter bufferedWriter =new BufferedWriter(new OutputStreamWriter(outputStream,"UTF-8"));
                String data= URLEncoder.encode("username","UTF-8")+"="+URLEncoder.encode(username,"UTF-8")+"&"+
                        URLEncoder.encode("password","UTF-8")+"="+URLEncoder.encode(password,"UTF-8");
                bufferedWriter.write(data);
                bufferedWriter.flush();
                bufferedWriter.close();
                outputStream.close();

                InputStream inputStream=httpsURLConnection.getInputStream();
                BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(inputStream,"iso-8859-1"));
                String response="";
                String line="";
                while ((line=bufferedReader.readLine())!=null)
                {
                    response+=line;
                }
                bufferedReader.close();
                inputStream.close();
                httpsURLConnection.disconnect();
                return response;
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

        }
        return null;
    }

    @Override
    protected void onProgressUpdate(Void... values) {
        super.onProgressUpdate(values);
    }

    @Override
    protected void onPostExecute(String s) {

        alertDialog.setMessage(s);
        alertDialog.show();
    }
}
`

标签: androidmysqlxampp

解决方案


推荐阅读