Java 无法从android php连接插入MySql数据库

Java 无法从android php连接插入MySql数据库,java,php,android,mysql,android-studio,Java,Php,Android,Mysql,Android Studio,我使用安卓Studio做了一些工作,数据获取工作正常,但我无法插入数据库,我认为问题可能是因为没有写入权限(可能?) 无论如何,在给定的点上,用户处于并按下按钮进行注册。这将调用switch case R.id.BtRegs上的方法onClick()。这将调用调用的registerUser方法。在doInBackgroundI中,尝试使用使用POST方法调用网络lan的IP连接到本地主机。 它不会从Register.php返回任何内容。 我如何检查它是否确实是缺乏其他事情的许可?我认为这可能是不

我使用安卓Studio做了一些工作,数据获取工作正常,但我无法插入数据库,我认为问题可能是因为没有写入权限(可能?)

无论如何,在给定的点上,用户处于并按下按钮进行注册。这将调用
switch case R.id.BtRegs
上的方法
onClick()。这将调用调用的
registerUser
方法。在
doInBackground
I
中,尝试使用使用
POST
方法调用网络lan的IP连接到本地主机。 它不会从Register.php返回任何内容。 我如何检查它是否确实是缺乏其他事情的许可?我认为这可能是不允许的,因为用于获取数据的相同方法工作得很好

以下是执行连接的
ServerRequests类
上的代码部分:

@Override
    protected Void doInBackground(Void... params) {

        Map<String,String> dataToSend = new HashMap<>();


        dataToSend.put("name", user.name);
        dataToSend.put("age", String.valueOf(user.age));
        dataToSend.put("username", user.username);
        dataToSend.put("password", user.password);

        String encodedStr = getEncodedData(dataToSend);
        BufferedReader reader = null;

        try{

            URL url = new URL(SERVER_ADDRESS + "/Register.php");

            HttpURLConnection con = (HttpURLConnection) url.openConnection();

            con.setConnectTimeout(CONNECTION_TIMEOUT);
            con.setReadTimeout(CONNECTION_TIMEOUT);

            con.setRequestMethod("POST");

            con.setDoOutput(true);
            OutputStreamWriter writer = new OutputStreamWriter(con.getOutputStream());

            writer.write(encodedStr);
            writer.flush();
注意:考虑
服务器地址=”http://192.168.x.x“

$con=mysqli_connect(“主机”、“用户”、“通行证”、“数据库”)通常设置在主项目上。

问题已解决:

正如@Redbeard011010所评论的,缺少
commit
导致了这个问题

因此,在我添加的代码上:

$mysqli->autocommit(FALSE);
//do the inserting
if (!$mysqli->commit()) {
print("Transaction commit failed\n");
exit();
}
在此之后,代码正常工作,数据被插入数据库。
更多信息

请阅读和。不确定您的本地主机是什么意思?你的设备的本地主机将是你的设备,而不是你的计算机。它实际上设置为本地网络上的我的计算机(比如192.168…),我刚刚用本地主机上传了这个项目。正如我所说,它可以很好地处理抓取,但不能处理插入。您可以尝试提交更改,以确定问题是否在于自动提交设置为关闭?我相信这会导致这种行为。您可以通过在脚本末尾添加几行代码来测试这一点,如下所示:在我看来,这不一定就是问题所在,但这是我可以提供的所有建议。
$mysqli->autocommit(FALSE);
//do the inserting
if (!$mysqli->commit()) {
print("Transaction commit failed\n");
exit();
}