【问题标题】:Stuck with error: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean [duplicate]遇到错误:警告:mysql_fetch_array() 期望参数 1 是资源,布尔值 [重复]
【发布时间】:2015-03-06 22:32:54
【问题描述】:

我遇到以下错误:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/****/public_html/10minutes8983.php on line 23

我完全不知道为什么,因为我以前多次使用这种方法从 db 获取一些东西..

下面是第 23 和 24 行。

LINE 23:$find = mysql_fetch_array(mysql_query("SELECT user FROM $tab[pimp] WHERE id='$id';"));

LINE 24:$user = mysql_fetch_array(mysql_query("SELECT turbo,platinum,gold,silver FROM $tab[user] WHERE username='$find[0]';"));

有人知道为什么会这样吗?

非常感谢!

【问题讨论】:

  • 使用 PDO 代替 mysql_query 。简单安全
  • 此代码中可能存在 SQL 注入漏洞。
  • 您的 SQL 有错误。你能 - echo "SELECT user FROM $tab[pimp] WHERE id='$id';";在上面的行上并发布它打印的内容?
  • 您的 SQL 中有语法错误。将其拆分为单独的语句,以便您可以检查mysql_query() 的结果,如果失败则执行die(mysql_error())。然后你会看到 SQL 错误信息。
  • 我现在就这么做,南。抱歉 Barmar,我的 php 水平非常基础,而且是自学的。我不太确定如何输入您建议的内容!

标签: php mysql boolean


【解决方案1】:

尝试在查询字符串中使用 {} 方括号 {$tab[pimp]},如下所示:

第 23 行:$find = mysql_fetch_array(mysql_query("SELECT user FROM {$tab[pimp]} WHERE id='$id';"));

【讨论】:

  • 不幸的是运气不好!
  • 在第 23 行之前添加调试消息,仅使用查询:echo "SELECT user FROM {$tab[pimp]} WHERE id='$id'";exit;如果查询看起来没问题,请将其复制到 SQL 客户端并运行它。 PS:另外,“;”在查询结束时不需要。
猜你喜欢
  • 1970-01-01
  • 2013-07-09
  • 2014-05-20
  • 1970-01-01
  • 2011-08-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多