【发布时间】:2012-07-31 00:06:23
【问题描述】:
可能重复:
Warning: mysql_fetch_* expects parameter 1 to be resource, boolean given error
我最近从一个客户那里得到了一份工作,我必须将折旧的 php 旧代码更改为新代码。在该代码中,我遇到了 mysql_db_query,我将其转换为 mysql_query,但给出了错误
mysql_fetch_array 期望参数 1 是资源,给定布尔值
//the old code was like:
$result = mysql_db_query($mysql_db,"SELECT Hierarchy FROM MenuSystem WHERE LENGTH(Hierarchy) >= 2 AND LOCATE(" . $_SESSION['AccessLevel'] . ",AccessLevels) <> 0;");
//and my new code is :
$result = mysql_query("SELECT Hierarchy FROM MenuSystem WHERE LENGTH(Hierarchy) >= 2 AND LOCATE(" . $_SESSION['AccessLevel'] . ",AccessLevels) <> 0");
请告诉我问题
它指的是第11行,其中是while循环的结束括号
while ($row = mysql_fetch_array($result)) {
$ConcatHierarchy .= $row["Hierarchy"];
}
【问题讨论】:
-
您需要在代码中找到错误发生的位置并在此处发布。错误应说明行号和源文件。
-
为了您的信息,您正在用已弃用的代码替换已弃用的代码。考虑使用 PDO 或 MySQLi 而不是旧的 mysql_ 函数。
-
我已经编辑了问题,现在您可以看到错误行
-
这确实是你的问题...在将
if ($result == false) { ... }传递给 mysql_fetch_array 之前对其进行测试。 -
查询字符串的语法有什么问题吗??