删除查询不能在以下PHP代码中工作

时间:2014-02-08 10:33:07

标签: php

我正在尝试通过id删除记录 这是我的代码:

if(isset($_GET['del'])){
  $i=$_GET['a'];
  $q="DELETE FROM Registration WHERE ID='".$i."'";
  mysql_query($q,$conn) or die(mysql_error());
  echo "deleted";
}

上面的代码正在运行,并且也执行了echo语句,但是数据库中的记录没有被删除。但是当我把实际的id号而不是$ i时,记录会被删除。

2 个答案:

答案 0 :(得分:0)

尝试直接在浏览器中访问脚本,并在从删除页面访问脚本时将其与地址栏中的链接进行比较。

要使代码工作,需要看起来像这样:

http://path/to/yourscript.php?del=1&a=<id to delete>

如果可行,那么您的调用脚本/表单设置不正确,您需要一个名为“a”的表单输入。例如<input type='text' name="a">和一个名为'del'的输入,可能是您的提交按钮。

答案 1 :(得分:0)

您在查询中将ID的值作为字符串发送。试试:

$q="DELETE FROM Registration WHERE ID=$i";

同时确保您获得 int

$i=(int)$_GET['a'];