Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.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
Php 使用android将信息插入外部数据库_Php_Android_Android Studio_Database Connection - Fatal编程技术网

Php 使用android将信息插入外部数据库

Php 使用android将信息插入外部数据库,php,android,android-studio,database-connection,Php,Android,Android Studio,Database Connection,因此,我有一个类注册,我想注册到外部数据库的用户信息,但由于某些原因,它不会插入,请您指出错误,如果有,或者告诉我丢失了什么 这是我上传到web主机的php文件 <?php $con = mysqli_connect("localhost","MY_username","My_Password","My_Databas");//my_user, my_password, my_database $BN = $_POST["BadgeNumber"]; $name = $_POST["N

因此,我有一个类注册,我想注册到外部数据库的用户信息,但由于某些原因,它不会插入,请您指出错误,如果有,或者告诉我丢失了什么

这是我上传到web主机的php文件

<?php

$con = mysqli_connect("localhost","MY_username","My_Password","My_Databas");//my_user, my_password, my_database

$BN = $_POST["BadgeNumber"];
$name = $_POST["Name"];
$EN = $_POST["ExtensionNumber"];
$PN = $_POST["PhoneNumber"];
$email = $_POST["Email"];

$statement = mysqli_prepare($con, "INSERT INTO Register (BadgeNumber, Name, ExtensionNumber, PhoneNumber, Email)
    VALUES (?, ?, ?, ?, ?)");

mysqli_stmt_bind_param($statement, "isiis", $BN, $name, $EN, $PN, $email);  
mysqli_stmt_execute($statement);

mysqli_stmt_close($statement);

mysqli_close($con); ?>
}

单击按钮后,我在这里调用StoreUserDataInBackground方法

 RegisterButton.setOnClickListener(new View.OnClickListener() {

        //InputStream is = null;

        @Override
        public void onClick(View v) {
            int BN = Integer.parseInt(BadgeNumberView.getText().toString());
            String name = NameView.getText().toString();
            int EN = Integer.parseInt(ExtensionNumberView.getText().toString());
            int PN = Integer.parseInt(PhoneNumberView.getText().toString());
            String Email = EmailView.getText().toString();

                User user = new User(BN, name, EN, PN, Email);

                registerUser(user);

        }
    });   

private void registerUser(User user){

    ServerRequests serverRequests = new ServerRequests(this);
    serverRequests.StoreUserDataInBackground(user, new GetUserCallback() {
        @Override
        public void done(User returnedUser) {

            startActivity(new Intent(MainActivity.this, RequestActivity.class));

        }
    });
}

1.电子邮件似乎已被保留,请将其更改为其他邮件

2.试试这个:

     dataToSend.add(new BasicNameValuePair("BadgeNumber",user.BN +""));
    dataToSend.add(new BasicNameValuePair("Name",user.name));
    dataToSend.add(new BasicNameValuePair("ExtensionNumber",user.EN +""));
    dataToSend.add(new BasicNameValuePair("PhoneNumber",user.PN +""));
    dataToSend.add(new BasicNameValuePair("Email",user.e_mail));

    Log.i(TAG,"StoreUserDataAsyncTask method BadgeNumber: "+user.BN +" Name: "+user.name);

到底发生了什么?http连接是否命中URI?php是否无法插入数据?你连HTTP连接都没有?不要把一页页的代码扔给我们,告诉我们实际的问题是什么is@GabeSechan我知道我对此很抱歉,但这只是因为我不知道到底发生了什么,因为logcat没有向我显示任何错误或指示什么,所以我有点沮丧,因为我不知道实际的问题是什么!你在调试器中运行过它吗?@Gabeschen我已经检查过调试器,没有问题,它执行了post,并通过了try-and-catch,没有问题
 RegisterButton.setOnClickListener(new View.OnClickListener() {

        //InputStream is = null;

        @Override
        public void onClick(View v) {
            int BN = Integer.parseInt(BadgeNumberView.getText().toString());
            String name = NameView.getText().toString();
            int EN = Integer.parseInt(ExtensionNumberView.getText().toString());
            int PN = Integer.parseInt(PhoneNumberView.getText().toString());
            String Email = EmailView.getText().toString();

                User user = new User(BN, name, EN, PN, Email);

                registerUser(user);

        }
    });   

private void registerUser(User user){

    ServerRequests serverRequests = new ServerRequests(this);
    serverRequests.StoreUserDataInBackground(user, new GetUserCallback() {
        @Override
        public void done(User returnedUser) {

            startActivity(new Intent(MainActivity.this, RequestActivity.class));

        }
    });
}
     dataToSend.add(new BasicNameValuePair("BadgeNumber",user.BN +""));
    dataToSend.add(new BasicNameValuePair("Name",user.name));
    dataToSend.add(new BasicNameValuePair("ExtensionNumber",user.EN +""));
    dataToSend.add(new BasicNameValuePair("PhoneNumber",user.PN +""));
    dataToSend.add(new BasicNameValuePair("Email",user.e_mail));

    Log.i(TAG,"StoreUserDataAsyncTask method BadgeNumber: "+user.BN +" Name: "+user.name);