UPDATE:我使用for循环解决了它:
for ($i=0; $i < mysql_num_rows($result); $i++) {
$row = mysql_fetch_assoc($result);
echo $row['name'];
}
原始问题:
这看起来有点愚蠢。我确信我错过了一些非常简单的事情,因为我以前能够做到这一点。无论如何,我想为数组中的每个项回显一些文本。此数组派生自mySQL。
这是代码
while ($row = mysql_fetch_assoc(mysql_query("SELECT * FROM files"))) {
echo $row['name'];
}
你能发布完整的代码吗?我想你忘了数据库连接了。
试试这个:
$result = mysql_query("SELECT * FROM files") or die (mysql_error());
while ($row = mysql_fetch_assoc($result)) {
var_dump($row['name']);
}
这会造成一个错误,我猜你在那里犯了一个错误。同时,var_dump()您的$行,以确保您有100%的"a"值。
此外,您确定该行确实存在吗?如果没有任何记录,$row上的echo将不起作用,因为它不存在。
同样,将错误报告设置为E_ALL,就像这样。
error_reporting(E_ALL);
此外,由于您在while()循环中运行查询,它将永远运行。因此,首先运行查询,并将其放入变量中,然后循环查看结果。(请参阅我上面的代码)
您可以单独执行查询,而不是while循环,因为如果您的查询返回超过1行,它将进入循环。显示您的循环只打印结果的第一个数据,您的循环是无限的。
从你的问题来看,它看起来很简单,试着用这种方式吧。
$sql="SELECT name From files";
$names = $db->query($sql);
while($name1 = $db->fetchByAssoc($names))
{
echo $name1['name'];
}