【发布时间】:2013-04-26 10:43:39
【问题描述】:
我有一个连接到数据库并获取数据的 php 文件,现在我希望将此数据发送到我的 java 代码并存储为一个数组,用于连接到 php 并检索我正在使用的结果 AsyncHttpClient 现在在 AsyncHttpClient 中,它们是一个 func onSucess,它以字符串值作为参数,所以来自 php 的任何东西都存储为字符串。我希望它是数组.. 请给我建议一个方法,要么得到一个数组而不是字符串 以下是我的代码。
public void func3(View view)throws Exception
{
AsyncHttpClient client = new AsyncHttpClient();
RequestParams rp = new RequestParams();
rp.put("pLat", "select * from iwmp_state");
client.post("http://10.0.2.2/conc2.php", rp, newAsyncHttpResponseHandler() {
public final void onSuccess(Array response) {
// handle your response here
//tx.setText(response.toString());
}
@Override
public void onFailure(Throwable e, String response) {
// something went wrong
tx.setText(response.toString());
}
});
}
我得到了一个 php 文件,它回显了一个数组 $row
<?php
// attempt a connection
$dbh = pg_connect("host=10.22.35.11 dbname=iwmp_dev2 user=postgres ");
if (!$dbh) {
die("Error in connection: " . pg_last_error());
}
// execute query
$sql = $_POST['pLat'];
$result = pg_query($dbh, $sql);
if (!$result) {
die("Error in SQL query: " . pg_last_error());
}
$array = array();
// iterate over result set
// print each row
while ($row = pg_fetch_array($result)) {
$i++;
echo $row[0];
}
// free memory
pg_free_result($result);
// close connection
pg_close($dbh);
?>
php echos 是数组,onSuccess 作为参数是字符串。怎么办!
【问题讨论】:
-
响应在哪里?在杰森中得到它并添加到列表中
-
JSON - 没有别的办法
-
JSON 是在 php 中编码数据的标准方式。您可以通过 ksop、xmletc 发送
-
如果可能,请发布一个示例。谢谢你。并且响应只是一个字符串。我不知道 onSuccess 内部的内部工作是否正在进行 .. 请帮助先生。谢谢