【问题标题】:Return a 2D array from php to android将二维数组从 php 返回到 android
【发布时间】:2014-08-27 13:24:01
【问题描述】:

我正在尝试将数据库中的数据返回到我的 android 应用程序中以使用它,但我似乎找不到这样做的好方法。到目前为止,最成功的方法是发送一个很长的、非常长的字符串,其中每个数据都用特殊符号分隔。这不起作用,因为特殊符号可能会在其中一个数据中使用,然后一切都会下降。

现在我设法将一行塞入一个数组,但我需要能够将几行放入其中。 我的 php,现在只将最后一行添加到数组中

<?php
    $host="HOST";
    $username="USER";
    $password="PASS";
    $db_name="DATABASE";

    $con=mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");
    $sql = "SELECT * FROM Table WHERE Column = 1";
    $result = mysql_query($sql);
    $json = array();
    if(mysql_num_rows($result))
    {
        while($row=mysql_fetch_assoc($result))
        {
            $json = array($row['col1'], $row['col2'], $row['col3'], $row['col4'], $row['col5'], $row['col6']);

        }
        echo json_encode($json);
    }
?> 

【问题讨论】:

  • $json[] = array($row['col1'], $row['col2'], $row['col3'], $row['col4'], $row[ 'col5'], $row['col6']);
  • 在你的 while 循环中尝试$json[] = ...。此外, $host 等不需要 "" 在它们周围,并且不再使用 mysql_* 函数,它们(被?)贬值了。使用 mysqli_* 或 PDO。

标签: php android arrays multidimensional-array


【解决方案1】:

正如你所写,只有最后一个 $row 被存储,是的。要每次都创建一个新数组,只需在$json 之后添加[]。它将为每一行创建一个新的子数组:

 $json[] = array($row['col1'], $row['col2'], $row['col3'], $row['col4'], $row['col5'], $row['col6']);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2021-04-19
    • 2021-03-29
    相关资源
    最近更新 更多