2012-10-28 92 views
-3

我早先在mysql中创建了一个数据库,现在我试图列出它在表中的所有值,但我得到以下错误Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean在线:while ($row=mysql_fetch_array($result))Mysql:警告:mysql_fetch_array()期望参数1是资源

这里是我的代码:

$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); 

我看了其他类似的问题,但diden't得到答案。

+0

您应该转储变量'$ result'。如果我猜对了,那么sql语句就会失效。我只是不知道原因。 – rekire

+0

我很新,在MySQL。我可以做什么? – Point89

+0

在'mysql_query'行之后的代码中写入用于调试'var_dump($ result)'的代码。顺便说一句,如果你是新来的mysql使用更好的PDO,这是比旧的'mysql_'功能更安全。 – rekire

回答

1

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

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

+0

我会尽力而为。谢谢 – Point89

+0

我在选择数据库时没有错误。我可以试试什么样的? – Point89

+0

您是否也为查询添加错误检查? – Xyon

0

确保此行实际上获取表中的行: $ result = mysql_query(“SELECT * FROM Users”);

尝试在该查询执行的错误检查:

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

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

Regards, Richi

相关问题