为MYSQL中的foreach()提供的无效参数在第一个表中工作而不是第二个

时间:2013-12-11 23:25:59

标签: php mysql sql foreach

我在启动PHP时不断获得为foreach()提供的无效参数。我主要在这里发帖,因为foreach的工作方式就像第一张桌子的魅力一样(如底部的URL所示)

<?php
//connect to MySQL
include("inc_connect_database.php");

//selet database
mysql_select_db("fo8(ell");

$query = "SELECT * FROM graphicscard " ;

$results = mysql_query($query)or die(mysql_error());

// DISPLAY RECORDS FROM THE graphicscard table
echo "<table border=\"1\">\n";
echo "graphicscard table" . "<BR/>";
echo "id | name | nvidia | AMD";

while ($row = mysql_fetch_assoc($results)) {
  echo "<tr>\n";
  foreach($row as $value) {
    echo "<td>\n";
    echo $value;
    echo "</td>\n";
  }
  echo "</tr>\n";
}
echo "</table>\n";

// DISPLAY RECORDS FROM THE computertype table

$query = "SELECT * FROM computertype " ;

$results = mysql_query($query)or die(mysql_error());

// DISPLAY RECORDS FROM THE graphicscard table
echo "<table border=\"1\">\n";
echo "computertype table" . "<BR/>";
echo "id | label";

echo "<tr>\n";
foreach($row as $value) {
  echo "<td>\n";
  echo $value;
  echo "</td>\n";
}
echo "</tr>\n";

echo "</table>\n"
?>

奇怪的是它......确切的foreach在第一个表创建中运行良好..但不是第二个。这就是我来这里的原因。下面的链接显示了第一个foreach如何正常工作。

1 个答案:

答案 0 :(得分:0)

它不适用于第二个查询,因为你没有foreach之外的这个块:

while ($row = mysql_fetch_assoc($results)) {
//blah-blah
}

致电mysql_fetch_assoc,它会起作用。