1

我有一个函数要使用,但我不知道这个函数的内容。我唯一知道的是该函数返回一个关联数组的数组和数组的键。该函数返回的数据来自数据库。你能帮助如何从这个数组中读取数据吗?我对数组感到困惑。现在我正在这样做:

$array = myfunction($var);
if(!empty($array))
{
    while($row = mysql_fetch_array($array))
    {
        print"$row[elem1]
        $row[elem2]";
    }
}

我接受了错误:警告:mysql_fetch_array() 期望参数 1 是资源,数组中给出...我知道有些东西丢失了,但直到现在我都无法修复它。

4

4 回答 4

2

如果函数返回一个数组,那么为什么要在 mysql_fetch_array 中使用它。这是没用的。而是使用这个

foreach($array as $key => $value){

   echo $key;
   echo '<br>';
   echo $value;
}

这将打印整个数组。或者一个简短的方法是

echo '<pre>';
print_r($array);
echo '</pre>';
于 2012-04-06T11:53:43.953 回答
1

就像是 -

$array = myfunction($var);
foreach($array as $key => $row) {
    print"{$row['elem1']} {$row['elem2']}";
}
于 2012-04-06T11:52:31.717 回答
0

错误是正确的..问题不是php中的关联数组,但您没有使用有效的mysql资源

有关文档,请参阅http://php.net/manual/en/function.mysql-fetch-array.php

例子

$mysqli = new mysqli("localhost","root","","test");
$result = $mysqli->query("SELECT * FROM test");
$row = array() ;
echo "<pre>" ;
if($result->num_rows > 0)
{
    while($row = $result->fetch_array(MYSQLI_NUM))
    {
            print implode (",", $row) . PHP_EOL;

    }

}

或者

$array = myfunction($var);
if(!empty($array))
{
    foreach($array as $key => $row)
    {
        if(is_array($row))
        {
            print implode (",", $row) . PHP_EOL;
        }
        else
        {
            print $row . PHP_EOL ;
        }
    }

}
于 2012-04-06T11:52:57.840 回答
0

您必须将资源标识符传递给 mysql_fetch_array() 函数。

就像是:

$sql = mysql_query('SELECT * FROM `table`');
if(!empty($array)) {

 while($row = mysql_fetch_array($array)) {
        print"$row[elem1]
        $row[elem2]";
 }
}
于 2012-04-06T11:53:01.680 回答