更新:我使用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'];
}发布于 2012-08-25 20:25:43
你能发布完整的代码吗?我想你忘了数据库连接。
试试这个:
$result = mysql_query("SELECT * FROM files") or die (mysql_error());
while ($row = mysql_fetch_assoc($result)) {
var_dump($row['name']);
}这将抛出一个错误,我猜你在那里犯了一个错误。另外,在while中使用var_dump()方法来确保您有一个"a“值。
另外,您确定该行确实存在吗?如果没有任何记录,你的$row上的回声将不会工作,因为它不存在。
另外,将错误报告设置为E_ALL,如下所示。
error_reporting(E_ALL);此外,由于查询是在while()循环中运行的,因此它将一直运行下去。因此,首先运行查询,并将其放入一个变量中,然后遍历结果。(参见上面的代码片段)
发布于 2012-08-25 20:27:05
您可以执行查询instead而不是while循环,因为如果您的查询返回超过1行,它将进入循环。显示你的循环只打印结果的第一个数据,你的循环是无限的。
发布于 2012-08-25 20:44:35
从你的问题看,它看起来很简单,试着这样做是可行的。
$sql="SELECT name From files";
$names = $db->query($sql);
while($name1 = $db->fetchByAssoc($names))
{
echo $name1['name'];
}https://stackoverflow.com/questions/12121878
复制相似问题