【问题标题】:Mysql: Warning: mysql_fetch_array() expects parameter 1 to be resourceMysql:警告:mysql_fetch_array() 期望参数 1 是资源
【发布时间】:2012-10-28 11:11:57
【问题描述】:

我之前在 mysql 中创建了一个数据库,现在我试图在一个表中列出它的所有值,但我在网上收到以下错误 Warning: mysql_fetch_array() expects parameter 1 to be resource, booleanwhile ($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);

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

【问题讨论】:

  • 你应该转储变量$result。如果我猜对了,那么 sql 语句就会失败。我只是不知道原因。
  • 我是 mysql 的新手。我到底能做什么?
  • mysql_query 行之后将var_dump($result) 调试到您的代码中。顺便说一句,如果您是 mysql 新手,请使用比旧的 mysql_ 函数更安全的更好的 PDO。

标签: php mysql


【解决方案1】:

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

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

【讨论】:

  • 我在选择数据库时没有错误。我还能尝试什么?
  • 我这样做了:$result = mysql_query("SELECT * FROM Users");如果(!结果){死(mysql_error());并得到这个错误:Notice: Use of undefined constant result - assumed 'result'
  • 你有一个错字。 PHP 变量总是以 $. 开头
  • 有人能告诉我如何在文件 b.php 中使用我在文件 a.php 中创建的数据库吗?我成功连接并选择了数据库,但我无法使用我在文件 a.php 中创建的表。为什么?
  • 有些单独的问题。但请记住 MySQL 区分大小写 - Users、users 和 USERS 是三个不同的表。如果您连接到同一台服务器、选择同一数据库并选择同一表,那么您所在的文件无关紧要。MySQL 数据与您的 PHP 代码是分开的。
【解决方案2】:

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

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

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

您的表格可能被称为“用户”而不是“用户”(注意大写),因此请进行相应更改。

问候, 里奇

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 2014-05-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多