涉及MySQL的Web(PHP)错误
在修复了我的主要MySQL错误后,我发现网站上的PHP存在一个问题,其中包括我创建的MySQL表。我收到了文本: 警告:mysql_fetch_array()希望参数1是resource,布尔值在第258行的/home/content/26/10406626/html/highscore/index.php中给出 这就是我在文件中找到$result的地方:涉及MySQL的Web(PHP)错误,php,mysql,Php,Mysql,在修复了我的主要MySQL错误后,我发现网站上的PHP存在一个问题,其中包括我创建的MySQL表。我收到了文本: 警告:mysql_fetch_array()希望参数1是resource,布尔值在第258行的/home/content/26/10406626/html/highscore/index.php中给出 这就是我在文件中找到$result的地方: if ($skill == "Attack" || $skill == "Defence" || $skill == "Strength"
if ($skill == "Attack" || $skill == "Defence" || $skill == "Strength" || $skill == "Hitpoints" || $skill == "Range" || $skill == "Prayer" || $skill == "Magic" || $skill == "Cooking" || $skill == "Woodcutting" || $skill == "Fletching" || $skill == "Fishing" || $skill == "Firemaking" || $skill == "Crafting" || $skill == "Smithing" || $skill == "Mining" || $skill == "Herblore" || $skill == "Agility" || $skill == "Thieving" || $skill == "Slayer" || $skill == "Farming" || $skill == "Runecraft" || $skill == "Hunter" || $skill == "Construction" || $skill == "Summoning" || $skill == "Dungeoneering") {
mysql_select_db("scores", $con);
$result = mysql_query("SELECT * FROM skills WHERE ". $PLAYERS_TO_NOT_SHOW . " ORDER BY " . $skill . "lvl DESC, " . $skill . "xp DESC");
}
else {
$skill = "";
mysql_select_db("scores", $con);
$result = mysql_query("SELECT * FROM skillsoverall WHERE ". $PLAYERS_TO_NOT_SHOW . " ORDER BY lvl DESC, xp DESC");
}
这是第254到278行:
显然,第258行是*而($row=mysql\u fetch\u array($result))*
<?php
$rank = 1;
while($row = mysql_fetch_array($result))
{
echo "<a name=\"" . $rank . "\"></a>";
echo "<a class=\"row\">";
echo "<span class=\"columnRank\">";
echo "<span>" . $rank . "</span>";
echo "</span>";
echo "<span class=\"columnName\">";
echo "<span>" . $row['playerName'] . "</span>";
echo "</span>";
echo "<span class=\"columnLevel\">";
echo "<span>" . $row[$skill . 'lvl'] . "</span>";
echo "</span>";
echo "<span class=\"columnXp\">";
echo "<span>" . $row[$skill . 'xp'] . "</span>";
echo "</span>";
echo "</a>";
$rank++;
}
mysql_close($con);
?>
您的查询失败,因此不会生成查询资源,而是生成FALSE 要显示动态生成的查询的外观并显示错误,请尝试以下操作:
$result2 = mysql_query($result) or die($result."<br/><br/>".mysql_error());
$result2=mysql\u query($result)或die($result。“
”。mysql\u error();
您的问题在于:
$result = mysql_query("SELECT * FROM skills WHERE ". $PLAYERS_TO_NOT_SHOW . " ORDER BY " . $skill . "lvl DESC, " . $skill . "xp DESC");
因为mysql_查询函数返回的布尔值i suposse为false。来自php.net手册
mysql\u查询函数返回:
For SELECT, SHOW, DESCRIBE, EXPLAIN and other statements returning
resultset, mysql_query() returns a **resource** on success, or FALSE on error.
For other type of SQL statements, INSERT, UPDATE, DELETE, DROP, etc,
mysql_query() returns TRUE on success or FALSE on error.
你能提供设置了
$result
的行吗?@EWit是的,我刚刚做了。很抱歉什么是$PLAYERS\u TO\u NOT\u SHOW?我想这就是你的问题所在from@EWit没关系,我修好了!我不得不将“分数”改为我的实际数据库名——在更改表时我忘记了这么做。