-1

我在从 SQL 查询返回 php 数据时遇到问题。这是我的代码:

      public function get_audit_message($productId,$accountId)
        {
        $sql_list  ="SELECT notes
                     FROM  ".$this->tables_audit."
                     WHERE productId = '".mysql_real_escape_string($productId)."'
                     AND accountId = '".mysql_real_escape_string($accountId)."'
                     ";

        $query = $this->db->query($sql_list);
        if($query->num_rows() > 0)
            {
            $return = $query->result_array();
            return $return;
            }
        else return false;
        }

我遇到麻烦的原因是它return $return;返回正确数量的结果,但只显示单词“array”。然后,如果我将其更改为return $return[0];正确返回第一个信息条目。

所以我想要做的是选择所有数组编号,例如return $return[*];如果可能的话。

任何建议将不胜感激。

4

2 回答 2

1

return $return;是从这个函数返回数组的正确方法,但你不能只echo()返回值,因为它是一个数组。当您尝试回显一个数组时,您只会得到文字“数组”(这也会引发一个通知,您会在打开错误报告时看到该通知)。

您必须对其进行迭代并打印出每个数组元素,或者使用implode()

$array = $obj->get_audit_message($productId,$accountId); // However you call it
echo implode( "<br />\n", $array) . "<br />\n";

或者:

$array = $obj->get_audit_message($productId,$accountId); // However you call it
foreach( $array as $el) {
    echo $el . "<br />\n";
}

上述两个片段都将产生完全相同的输出。

于 2012-08-09T15:27:00.373 回答
0

有几种简单的方法可以在 HTML 中显示 PHP 数组的内容。

最简单的是通过print_r命令查看它,如下所示:

print_r ($my_array);

如果您需要“nice”格式,请添加 PRE 标签,如下所示:

echo "<pre>";
print_r($my_array);
echo "</pre>";

或像这样:

echo "<pre>".print_r($my_array, 1)."</pre>";

此外,还有类似的var_dumpvar_export PHP 函数:

echo "<pre>";
var_dump($my_array);
echo "</pre>";

或者

echo "<pre>";
var_export($my_array);
echo "</pre>";

只需选择您喜欢的阶梯。

于 2012-08-09T15:55:15.203 回答