Android设备向PHP发送空数据
我是Android新手,我正在用PHP和MySQL开发一个应用程序。我试图从我的设备向PHP脚本发送一些数据,并将数据添加到数据库中,但添加到数据库中的数据为空。我不使用模拟器,只使用Android设备。以下是我的PHP和Java代码:Android设备向PHP发送空数据,php,android,mysql,Php,Android,Mysql,我是Android新手,我正在用PHP和MySQL开发一个应用程序。我试图从我的设备向PHP脚本发送一些数据,并将数据添加到数据库中,但添加到数据库中的数据为空。我不使用模拟器,只使用Android设备。以下是我的PHP和Java代码: $dbHost = "localhost"; $dbName = "emergency_db"; $dbUser = "root"; $dbPassword = ""; $connect = mysql_connect($dbHost, $dbUser, $d
$dbHost = "localhost";
$dbName = "emergency_db";
$dbUser = "root";
$dbPassword = "";
$connect = mysql_connect($dbHost, $dbUser, $dbPassword) or die ("Connection error"); // connects to database
mysql_select_db($dbName) or die ("Database selection error"); // selects the database
$username=$_POST['username'];
$password=$_POST['password'];
$name=$_POST['name'];
$email=$_POST['email'];
mysql_query("INSERT INTO USERS(Username, Password, Name, Email)VALUES('$username', '$password', '$name' , '$email')");
mysql_close($connect);
试试看{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://localhost/register.php");
列表参数=新的ArrayList(4);
添加(新的BasicNameValuePair(“用户名”,用户名));
参数添加(新的BasicNameValuePair(“名称”),名称);
参数添加(新的BasicNameValuePair(“电子邮件”),电子邮件);
添加(新的BasicNameValuePair(“密码”,password));
setEntity(新的UrlEncodedFormEntity(参数));
HttpResponse response=httpclient.execute(httppost);
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
使用mysqli
。现在不推荐使用mysql
您必须使用http://192.168.xxx.xxx/register.php
而不是http://localhost/register.php
如果您在公共网络上测试它
将您的mysql\u查询替换为以下内容:
mysqli_query($connect,"INSERT INTO test (name,age,email) VALUES ('$name', '$age', '$email');)";
你测试过你试图发送的数据是否为空值吗?我已经测试过手机上的数据,它们不是空的。我是PHP新手,bt我想你需要打开Db Connection。假设PHP没有在手机上运行?因此,您在Android中的url中并没有真正使用
localhost
?有两件事:1)您可以连接到数据库吗?2)这个字符串看起来像什么样被回荡出来“插入到用户(用户名、密码、名称、电子邮件)值(“$Username”、“$Password”、“$Name”、“$Email”)”
?
mysqli_query($connect,"INSERT INTO test (name,age,email) VALUES ('$name', '$age', '$email');)";