Java 我想将android studio连接到mysql
我想在mysql中插入数据,并检索、修改和删除其中的行。我没有任何编程知识,只是一点数据库操作。这个android studio对我来说是一个全新的东西,就像我在关于将android studio连接到mysql的教程中遇到了问题一样。我试着使用我电脑的ip地址,10.0.2.2,127.0.0.1,甚至注册了一个免费的网络主机,但它仍然没有插入数据 另一件事是,显示注册状态的对话框不起作用 我知道的最后一件事是这段代码中的错误,因为当我查看他们的教程时,它起了作用,但我不明白为什么它对我不起作用 我真的很感激你能提供的任何帮助 这是php文件Java 我想将android studio连接到mysql,java,php,android,mysql,android-studio,Java,Php,Android,Mysql,Android Studio,我想在mysql中插入数据,并检索、修改和删除其中的行。我没有任何编程知识,只是一点数据库操作。这个android studio对我来说是一个全新的东西,就像我在关于将android studio连接到mysql的教程中遇到了问题一样。我试着使用我电脑的ip地址,10.0.2.2,127.0.0.1,甚至注册了一个免费的网络主机,但它仍然没有插入数据 另一件事是,显示注册状态的对话框不起作用 我知道的最后一件事是这段代码中的错误,因为当我查看他们的教程时,它起了作用,但我不明白为什么它对我不起作
conn.php
<?php
$db_name = "dbapp";
$mysql_username="root";
$mysql_password="";
$server_name="localhost";
$con = mysqli_connect($server_name,$mysql_username,$mysql_password,$db_name);
?>
register.php
<?php
require "conn.php";
$f_name=$_POST["first_name"];
$m_name=$_POST["middle_name"];
$l_name=$_POST["last_name"];
$email_add=$_POST["emailadd"];
$user_name=$_POST["username"];
$user_pass=$_POST["userpass"];
$sql_query = "insert into tbluser (f_name, m_name, l_name, user_emadd, user_name, user_pass) values('$fname','$mname','$lname','email_add','$user_name','user_pass')";
?>
这里是另一个java类
BackgroundWorker.java
package com.example.*****.myapplication;
import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
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.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
public class BackgroundWorker extends AsyncTask<String,Void,String> {
AlertDialog alertDialog;
Context ctx;
BackgroundWorker(Context ctx) {
this.ctx = ctx;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String reg_url = "http://10.0.2.2/myapp/register.php";
String login_url = "http://10.0.2.2/myapp/login.php";
String method = params[0];
if (method.equals("register")) {
String fname = params[1];
String mname = params[2];
String lname = params[3];
String emailadd = params[4];
String username = params[5];
String userpass = params[6];
try {
URL url = new URL(reg_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream OS = httpURLConnection.getOutputStream();
BufferedWriter bufferedwriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8"));
String data = URLEncoder.encode("f_name", "UTF-8") + "=" + URLEncoder.encode(fname, "UTF-8") + "&" +
URLEncoder.encode("m_name", "UTF-8") + "=" + URLEncoder.encode(mname, "UTF-8") + "&" +
URLEncoder.encode("l_name", "UTF-8") + "=" + URLEncoder.encode(lname, "UTF-8") + "&" +
URLEncoder.encode("email_add", "UTF-8") + "=" + URLEncoder.encode(emailadd, "UTF-8") + "&" +
URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8") + "&" +
URLEncoder.encode("user_pass", "UTF-8") + "=" + URLEncoder.encode(userpass, "UTF-8");
bufferedwriter.write(data);
bufferedwriter.flush();
bufferedwriter.close();
OS.close();
InputStream IS = httpURLConnection.getInputStream();
IS.close();
httpURLConnection.disconnect();
return "Registration Success";
} 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 result) {
if(result.equals("Registration Success"))
{
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
}
else
{
alertDialog.setMessage(result);
alertDialog.show();
}
}
}
您的代码易受攻击。请开始使用准备好的参数化查询。将android studio连接到mysql是什么意思?Android studio是Android应用程序的ide。我希望其他设备也能访问数据库。。这就像我要在我的设备中插入数据以更新数据库,而另一台设备将看到所做的更改。您的代码易受攻击。请开始使用准备好的参数化查询。将android studio连接到mysql是什么意思?Android studio是Android应用程序的ide。我希望其他设备也能访问数据库。。这就像我要在我的设备中插入数据来更新数据库,而另一台设备将看到所做的更改。
package com.example.*****.myapplication;
import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;
import android.widget.Toast;
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.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
public class BackgroundWorker extends AsyncTask<String,Void,String> {
AlertDialog alertDialog;
Context ctx;
BackgroundWorker(Context ctx) {
this.ctx = ctx;
}
@Override
protected void onPreExecute() {
super.onPreExecute();
}
@Override
protected String doInBackground(String... params) {
String reg_url = "http://10.0.2.2/myapp/register.php";
String login_url = "http://10.0.2.2/myapp/login.php";
String method = params[0];
if (method.equals("register")) {
String fname = params[1];
String mname = params[2];
String lname = params[3];
String emailadd = params[4];
String username = params[5];
String userpass = params[6];
try {
URL url = new URL(reg_url);
HttpURLConnection httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestMethod("POST");
httpURLConnection.setDoOutput(true);
OutputStream OS = httpURLConnection.getOutputStream();
BufferedWriter bufferedwriter = new BufferedWriter(new OutputStreamWriter(OS, "UTF-8"));
String data = URLEncoder.encode("f_name", "UTF-8") + "=" + URLEncoder.encode(fname, "UTF-8") + "&" +
URLEncoder.encode("m_name", "UTF-8") + "=" + URLEncoder.encode(mname, "UTF-8") + "&" +
URLEncoder.encode("l_name", "UTF-8") + "=" + URLEncoder.encode(lname, "UTF-8") + "&" +
URLEncoder.encode("email_add", "UTF-8") + "=" + URLEncoder.encode(emailadd, "UTF-8") + "&" +
URLEncoder.encode("user_name", "UTF-8") + "=" + URLEncoder.encode(username, "UTF-8") + "&" +
URLEncoder.encode("user_pass", "UTF-8") + "=" + URLEncoder.encode(userpass, "UTF-8");
bufferedwriter.write(data);
bufferedwriter.flush();
bufferedwriter.close();
OS.close();
InputStream IS = httpURLConnection.getInputStream();
IS.close();
httpURLConnection.disconnect();
return "Registration Success";
} 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 result) {
if(result.equals("Registration Success"))
{
Toast.makeText(ctx, result, Toast.LENGTH_LONG).show();
}
else
{
alertDialog.setMessage(result);
alertDialog.show();
}
}
}
fname
mname
lname
email_add
user_name
user_pass