Php 使用android将信息插入外部数据库
因此,我有一个类注册,我想注册到外部数据库的用户信息,但由于某些原因,它不会插入,请您指出错误,如果有,或者告诉我丢失了什么 这是我上传到web主机的php文件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
<?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);