我正在使用以下代码使用 PHP 访问我的数据库
<?php
$host = "localhost";
$user = "**MASKED**";
$password = "**MASKED**";
$database = "parkfinder_zxq_coordinates";
$connection = mysql_connect($host, $user, $password) or die("couldn't connect to server");
$db = mysql_select_db($database, $connection) or die("couldn't select database.");
//$request_parked = $_REQUEST['parked'];
$request_long = $_REQUEST['longtitude'];
$request_lat = $_REQUEST['latitude'];
$q = mysql_query("SELECT * FROM Coordinates");
while ($e = mysql_fetch_assoc($q))
$output[] = $e;
print (json_encode($output));
mysql_close();
?>
当我在 Java 中使用此代码阅读响应时:
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://parkfinder.zxq.net/default.php");
httppost.setEntity(new UrlEncodedFormEntity(coordinatesToSend));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
String result = EntityUtils.toString(entity);
Log.d("RESULT", result);
JSONObject json_data = new JSONObject(result);
我得到的结果是:
2[{"longtitude":"32.32","latitude":"33.12"}]
这会导致 JSONObject 抛出异常,因为这不是有效的 JSON 数据,它以 2 开头。有人知道如何修复它吗?两个代码都取自网上教程,貌似没有这种问题。问题发生在两个不同的 MySQL 服务器上。
提前致谢