我正在使用PHP脚本实现Android-MySQL交互。 当我在笔记本电脑上运行脚本时,脚本可以正常工作。
当我尝试处理我的Android应用程序中PHP脚本(通过echo返回)的返回值时,原来整个PHP脚本都已返回。
我使用Genymotion作为模拟器,并在代码中将URL设置为10.0.3.2。
当我尝试使用Genymotion(10.0.3.2/test.php)访问PHP页面时,浏览器也会加载原始脚本。
尽管我认为这更像是端口/配置问题,但以下是我的PHP脚本和Android代码段。
PHP:
<?php
$db_name = "demo";
$mysql_username = "root";
$mysql_password = "password";
$server_name = "127.0.0.1";
$sql_query = "select * from table1;";
// establish connection to mysql database
$con = mysqli_connect($server_name, $mysql_username, $mysql_password,
$db_name);
$result = mysqli_query($con, $sql_query);
$return_arr = array();
while ($row = mysqli_fetch_array($result))
{
$return_arr[] = array(
'id' => $row['id'],
'size' => $row['size'],
'material' => $row['material'],
'date' => $row['date']
);
}
header('Content-Type: application/json');
echo json_encode(array("server_response"=>$return_arr));
mysqli_close($con);
?>
Android:
System.out.println(“ nooo!”);
StringRequest stringRequest = new StringRequest(Request.Method.POST, json_url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
System.out.println(response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
queueVolley.add(stringRequest);
问题是如何使PHP脚本在Android中返回正确的数据? 它运行在装有Mojave OS的MacBook Pro上。
谢谢!