-3

我之前在 mysql 中创建了一个数据库,现在我试图在一个表中列出它的所有值,但是我Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean在线收到以下错误:while ($row=mysql_fetch_array($result))

这是我的代码:

$con=mysql_connect("localhost","root","");
if (!$con) {
    die("Error: " . mysql_error);
}

mysql_select_db("my_db",$con);

$result = mysql_query("SELECT * FROM Users");

echo "<table border='1'>
<tr>
<th>Username</th>
<th>First Name</th>
<th>Last Name</th>
<th>Age</th>
<th>Email adress</th>
</tr>";

while($row=mysql_fetch_array($result)) {
    echo "<tr>";
    echo "<td>" . $row['username'] . "</td>";
    echo "<td>" . $row['firstname'] . "</td>";
    echo "<td>" . $row['lastname'] . "</td>";
    echo "<td>" . $row['age'] . "</td>";
    echo "<td>" . $row['emailadress'] . "</td>";
    echo"</tr>";
}
echo "</table>";

mysql_close($con);

我读了其他类似的问题,但没有得到答案。

4

2 回答 2

1

您的代码不会评估 MySQL 关于选择数据库或运行查询的响应。该错误表明您的查询没有成功(因此 mysql_query 返回 FALSE)——这意味着上述一项或两项都不起作用。

选择数据库并使用 die(mysql_error()); 时测试错误 看看为什么这些电话会失败。

于 2012-10-28T11:15:30.983 回答
0

确保这一行实际上是从表中获取行: $result = mysql_query("SELECT * FROM Users");

尝试在该查询中进行错误检查:

$result = mysql_query("SELECT * FROM Users") or die(mysql_error());

可能你的表被称为“用户”而不是“用户”(注意大写),所以相应地改变。

问候, 里奇

于 2012-10-28T17:59:21.387 回答