用PHP编辑MYSQL

时间:2013-11-14 04:29:32

标签: php html mysql

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

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 个答案:

答案 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 );

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

答案 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);