我有一个使用的功能,但我不知道这个功能的内容。我唯一知道的是该函数返回一个关联数组数组和数组的键。函数返回的数据来自数据库。你能帮忙学习如何从这个数组中读取数据吗?我对数组感到困惑。现在我这样做:
$array = myfunction($var);
if(!empty($array))
{
while($row = mysql_fetch_array($array))
{
print"$row[elem1]
$row[elem2]";
}
}
我接受了错误:警告:mysql_fetch_array()期望参数1是资源,在...中给出的数组我知道有些东西丢失了,但直到现在我无法修复它。
答案 0 :(得分:2)
如果函数返回一个数组,那你为什么要在mysql_fetch_array中使用它呢?这没用。而是使用这个
foreach($array as $key => $value){
echo $key;
echo '<br>';
echo $value;
}
这将打印整个数组。 或者简短的方法是
echo '<pre>';
print_r($array);
echo '</pre>';
答案 1 :(得分:1)
像 -
$array = myfunction($var);
foreach($array as $key => $row) {
print"{$row['elem1']} {$row['elem2']}";
}
答案 2 :(得分: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 ;
}
}
}
答案 3 :(得分:0)
您必须将资源标识符传递给mysql_fetch_array()函数。
类似的东西:
$sql = mysql_query('SELECT * FROM `table`');
if(!empty($array)) {
while($row = mysql_fetch_array($array)) {
print"$row[elem1]
$row[elem2]";
}
}