Java Android注册表不会提交(截取和SQL)
我还是android编程新手,目前正在学习如何连接到DB。 我正在学习一个在线教程,但仍然面临一些问题。 本教程将创建一个注册表,并通过截取将其发送到数据库。 我使用.hostinger.ae作为主机和Android studio。 一切似乎都很好,直到我点击注册按钮,它给我一个错误(无法注册) 我找不到错误,调试显示没有错误。因此,如果您能帮我找到问题所在,我将不胜感激 我有两个php文件上传到公共文件夹上的在线主机 dbconnectphp用于连接数据库的文件Java Android注册表不会提交(截取和SQL),java,php,android,Java,Php,Android,我还是android编程新手,目前正在学习如何连接到DB。 我正在学习一个在线教程,但仍然面临一些问题。 本教程将创建一个注册表,并通过截取将其发送到数据库。 我使用.hostinger.ae作为主机和Android studio。 一切似乎都很好,直到我点击注册按钮,它给我一个错误(无法注册) 我找不到错误,调试显示没有错误。因此,如果您能帮我找到问题所在,我将不胜感激 我有两个php文件上传到公共文件夹上的在线主机 dbconnectphp用于连接数据库的文件 <?php define
<?php
define('HOST','mysql.hostinger.ae');
define('USER','--');
define('PASS','--');
define('DB','u853541076_tuber');
$con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect');
您的查询与“插入到截取(用户名、密码、电子邮件)值(“$username”、“$email”、“$password”)不匹配”
。其查询是否应为“`INSERT-INTO-volley(用户名、密码、电子邮件)值('$username','$password','$email')”
再次检查服务器端代码,检查查询是否已成功将数据插入表。直接点击浏览器上的URL。 这将导致错误。错误的可能性可能是: 1.您的SQL insert语句格式错误。某些表名或任何其他问题。
2.您的db配置文件可能有问题,请尝试使用Postman注册您的URL,因为我认为URL有问题。您指的是哪个URL?register_URL=“”因为在注册时,它显示的状态是:200 ok,但显示的是
access done无法注册
此消息access done is message只是我添加到dbconnect的一个回显,用于测试连接以定位问题。很抱歉。我从这里错误地删除了。我编辑了查询,但仍然存在问题,没有数据插入表中。谢谢!你的权利!我把桌子的名字弄错了,真蠢。
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){
$username = $_POST['username'];
$email = $_POST['email'];
$password = $_POST['password'];
require_once('dbConnect.php');
$sql = "INSERT INTO volley (username,password,email) VALUES('$username','$email','$password')";
if(mysqli_query($con,$sql)){
echo "Successfully Registered";
}else{
echo "Could not register";
}
}else{
echo 'error';
}
package myapp.com.tuberapp;
import android.os.Bundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
///The hosting link
public static final String REGISTER_URL = "http://tuber.16mb.com/volleyRegister.php";
public static final String KEY_USERNAME = "username";
public static final String KEY_PASSWORD = "password";
public static final String KEY_EMAIL = "email";
private EditText editTextUsername;
private EditText editTextEmail;
private EditText editTextPassword;
private Button buttonRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editTextUsername = (EditText) findViewById(R.id.editTextUsername);
editTextPassword = (EditText) findViewById(R.id.editTextPassword);
editTextEmail= (EditText) findViewById(R.id.editTextEmail);
buttonRegister = (Button) findViewById(R.id.buttonRegister);
buttonRegister.setOnClickListener(this);
}
private void registerUser(){
final String username = editTextUsername.getText().toString().trim();
final String password = editTextPassword.getText().toString().trim();
final String email = editTextEmail.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST, REGISTER_URL,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show();
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String, String>();
params.put(KEY_USERNAME,username);
params.put(KEY_PASSWORD,password);
params.put(KEY_EMAIL, email);
return params;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
@Override
public void onClick(View v) {
if(v == buttonRegister){
registerUser();
}
}
}
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="myapp.com.tuberapp">
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>