0

我有一个数据库,每个条目上都有编辑按钮,但是在尝试编辑项目时出现此错误。

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /editentry.php on line 32

这是有问题的行和与问题对应的文件。

$order = "SELECT * FROM Missions WHERE MissionNumber='$id'";

Missions.php 使用旁边的编辑按钮标记所有条目 - http://pastebin.com/VbTzUMDP

editentry.php 是应该在发生错误的地方进行编辑的页面 - http://pastebin.com/fj7y9GFW

我也知道这段代码有可能被注入 SQL,但这只是目前只有我可以访问的页面的一些测试代码。

4

4 回答 4

1

尝试更改它以在您mysql_query()之前添加连接mysql_fetch_array()

 $con = mysql_connect($hostname, $username, $password) OR DIE ("Unable to
       connect to database! Please try again later.");
 mysql_select_db($dbname,$con);
 $data = mysql_query("SELECT * FROM Missions ORDER BY CashPayout DESC",$con) 
 or die(mysql_error());
 $info = mysql_fetch_array( $data );

顺便说一句mysqliPDO它是首选,因为它更安全可靠。

于 2013-11-14T04:41:43.433 回答
0

当查询出错时,会显示这种类型的错误。 试试这个:-

$id = $_GET['id'];
$order = "SELECT * FROM Missions WHERE MissionNumber = '".$id."' ";
于 2013-11-14T04:38:29.917 回答
0

mysql_fetch_array() 失败或没有更多行时为 FALSE。您可以在查询中使用反勾号并检查$id您是否获得了价值。

$order = "SELECT * FROM `Missions` WHERE `MissionNumber` = '$id'";
于 2013-11-14T04:46:29.867 回答
0

您的查询中有错误,请改用以下代码行:

$order = sprintf("SELECT * FROM Missions WHERE MissionNumber='%s'",$id);
于 2013-11-14T05:11:11.043 回答