Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/193.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用截取从android向MySQL发送数据_Java_Android_Mysql - Fatal编程技术网

Java 如何使用截取从android向MySQL发送数据

Java 如何使用截取从android向MySQL发送数据,java,android,mysql,Java,Android,Mysql,我对在android中使用库有点陌生。 我想将简单的登录数据发送到我用php创建的本地服务器,想法是将电子邮件和密码存储在db中,然后再从数据库中获取数据。 我在堆栈溢出中到处都读过,但问题还没有解决 数据没有插入数据库我不知道是什么问题,你能告诉我代码中的错误是什么吗 MainActivity package com.example.furqan.testlocalserver; import android.app.AlertDialog; import android.content.Di

我对在android中使用库有点陌生。 我想将简单的登录数据发送到我用php创建的本地服务器,想法是将电子邮件和密码存储在db中,然后再从数据库中获取数据。 我在堆栈溢出中到处都读过,但问题还没有解决

数据没有插入数据库我不知道是什么问题,你能告诉我代码中的错误是什么吗

MainActivity
package com.example.furqan.testlocalserver;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import com.android.volley.AuthFailureError;
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 java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {

    EditText mEmail, mPassword;
    Button mSaveButton;
    String server_url = "http://127.0.0.1/update_info.php";
    AlertDialog.Builder builder;

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

        mEmail = (EditText) findViewById(R.id.email);
        mPassword = (EditText) findViewById(R.id.password);
        mSaveButton = (Button) findViewById(R.id.saveButton);
        builder = new AlertDialog.Builder(this);

        mSaveButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view)
            {
               // Uri.Builder builder = Uri.parse(Links.URL_login).buildUpon();
                //builder.appendQueryParameter("email", "me@email.com");
                //builder.appendQueryParameter("pw", "mypwd");

                //String loginUrl=builder.build().toString();

                StringRequest stringRequest = new StringRequest(Request.Method.POST, server_url,
                        new Response.Listener<String>()
                        {
                            @Override
                            public void onResponse(String response)
                            {

                                builder.setTitle("Server Respond");
                                builder.setMessage("Response :"+response);
                                builder.setPositiveButton("OK", new DialogInterface.OnClickListener()
                                {
                                    @Override
                                    public void onClick(DialogInterface dialogInterface, int i) {

                                        mEmail.setText("");
                                        mPassword.setText("");
                                    }
                                });

                                AlertDialog alertDialog = builder.create();
                                alertDialog.show();

                            }

                        },
                            new Response.ErrorListener()
                            {
                              @Override
                              public void onErrorResponse(VolleyError error)
                              {
                                  Toast.makeText(MainActivity.this, "Error...!!",Toast.LENGTH_SHORT).show();
                                  error.printStackTrace();
                              }
                            })
                        {
                                @Override
                                protected Map<String, String> getParams() throws AuthFailureError
                                {
                                    Map<String,String> params = new HashMap<>();

                                    params.put("email",mEmail.getText().toString());
                                    params.put("pass",mPassword.getText().toString());

                                    return params;
                                }
                            };

                MySingleTon.getInstance(MainActivity.this).addToRequestQueue(stringRequest);

            }
        });
    }
}

update_info.php


<?php

$user_email = $_POST['email'];
$user_pass = $_POST['pass'];

$user = "root";
$password = "";
$host = "localhost";
$db_name = "testdb";

$con = mysqli_connect( $host, $user, $password,$db_name);

$sql = "INSERT INTO login(Email,Password)
        VALUES('$user_email','$user_pass')";

if(mysqli_query($con,$sql))
{
    echo "Data insert Successfully...";
}
else{
    echo "Error while entering data";
}

mysqli_close($con);


?>
main活动
包com.example.furqan.testlocalserver;
导入android.app.AlertDialog;
导入android.content.DialogInterface;
导入android.net.Uri;
导入android.support.v7.app.AppActivity;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.Toast;
导入com.android.volley.AuthFailureError;
导入com.android.volley.Request;
导入com.android.volley.RequestQueue;
导入com.android.volley.Response;
导入com.android.volley.VolleyError;
导入com.android.volley.toolbox.StringRequest;
导入java.util.HashMap;
导入java.util.Map;
公共类MainActivity扩展了AppCompatActivity{
编辑文本mEmail,mPassword;
按钮mSaveButton;
字符串服务器\u url=”http://127.0.0.1/update_info.php";
AlertDialog.Builder;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mEmail=(EditText)findViewById(R.id.email);
mPassword=(EditText)findViewById(R.id.password);
mSaveButton=(按钮)findviewbyd(R.id.saveButton);
builder=新建AlertDialog.builder(此);
mSaveButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图)
{
//Uri.Builder=Uri.parse(Links.URL\u login.buildOn();
//builder.appendQueryParameter(“电子邮件”me@email.com");
//建造商。附录参数(“pw”、“mypwd”);
//字符串loginUrl=builder.build().toString();
StringRequest StringRequest=新的StringRequest(Request.Method.POST、服务器url、,
新的Response.Listener()
{
@凌驾
公共void onResponse(字符串响应)
{
builder.setTitle(“服务器响应”);
builder.setMessage(“响应:+Response”);
setPositiveButton(“确定”,新的DialogInterface.OnClickListener()
{
@凌驾
公共void onClick(DialogInterface,inti){
mEmail.setText(“”);
mPassword.setText(“”);
}
});
AlertDialog AlertDialog=builder.create();
alertDialog.show();
}
},
新的Response.ErrorListener()
{
@凌驾
公共无效onErrorResponse(截击错误)
{
Toast.makeText(MainActivity.this,“Error…!!”,Toast.LENGTH_SHORT.show();
错误。printStackTrace();
}
})
{
@凌驾
受保护的映射getParams()引发AuthFailureError
{
Map params=新的HashMap();
put(“email”,mEmail.getText().toString());
参数put(“pass”,mPassword.getText().toString());
返回参数;
}
};
getInstance(MainActivity.this).addToRequestQueue(stringRequest);
}
});
}
}
更新_info.php

粘贴一些错误日志输出,这将有助于理解问题警告:编写自己的访问控制层并不容易,而且有很多机会使它严重出错。请不要编写您自己的身份验证系统,因为任何现代的同类产品都具有强大的内置功能。至少要遵循并且永远不要将密码存储为纯文本。警告:当使用
mysqli
时,您应该使用和将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了严重的错误。切勿将
$\u POST
$\u GET
或任何用户数据直接放入查询中,如果有人试图利用您的错误进行攻击,这可能非常有害。请检查您使用的设备或模拟器是否可以访问服务器url,我怀疑您的设备无法访问您的服务器server@AnkitArora我在电话上运行它,那么,如何从电话中查看呢?