我有一个数据库,每个条目都有编辑按钮,但在尝试编辑项目时出现此错误。
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注入,但这只是一些测试代码,只有一个只能由我访问的页面。
答案 0 :(得分: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 );
顺便说一句mysqli
和PDO
是首选,因为它更安全。
答案 1 :(得分:0)
当查询出错时,则会显示此类错误.. 试试这个: -
$id = $_GET['id'];
$order = "SELECT * FROM Missions WHERE MissionNumber = '".$id."' ";
答案 2 :(得分:0)
mysql_fetch_array()
失败或没有更多行时为FALSE。
您可以在查询中使用勾选并检查您获得的$id
的值。
$order = "SELECT * FROM `Missions` WHERE `MissionNumber` = '$id'";
答案 3 :(得分:0)
您的查询中存在错误,请改用以下代码:
$order = sprintf("SELECT * FROM Missions WHERE MissionNumber='%s'",$id);