在php中使用id删除记录

时间:2015-03-18 13:11:15

标签: php html mysql

我试图使用get id方法删除记录。我在回声部分的php中嵌入了html。

while ($row = mysql_fetch_array($result_select)) {
    echo("<tr>
            <td>". $row[games_name] ."</td>
            <td>" . $row['date'] . "</td>
            <td> <a href='delete.php?id={$row['games_id']}'>delete</a></td>
          </tr>");
}

在我的delete.php中,我输入了以下内容:

incude("includes/connection.php");
$id = $_GET["id"];

$sql = "DELETE FROM tbl_games WHERE games_id=$id";
$result = mysql_query($sql,$con).mysql_error();
if(!result){ echo "Error";}else{echo "Success";}

但它似乎无法奏效。请帮忙!!

2 个答案:

答案 0 :(得分:1)

您的代码中存在多个拼写错误/错误。如果需要,可以将while循环更改为:

while ($row = mysql_fetch_array($result_select)) {
  echo sprintf("
    <tr>
      <td>%s</td>
      <td>%s</td>
      <td><a href=\"delete.php?id=%d\">delete</a></td>
    </tr>", $row["games_name"], $row["date"], $row["games_id"]);
}

(添加的sprintf()使我认为html更具可读性。)

你在$row[games_name]中缺少引号,所以我改变了它。

对于delete.php

incude("includes/connection.php");
$id = isset($_GET["id"]) ? (int)$_GET["id"] : null ;
if ( !isset($id) ) {
  die("Error: id not set");
}
$sql = "DELETE FROM tbl_games WHERE games_id=$id";
$result = mysql_query($sql, $con) or die(mysql_error());
if (!$result) {
  echo "Error";
} else {
  echo "Success";
}

确保仅在设置?id时执行此操作。

将您的incude更改为include,将!result更改为!$result

(未经测试的代码)

答案 1 :(得分:-1)

从PHP文件网址{$row['games_id']}中删除大括号 {} ,并删除删除查询中的大括号。

$sql = "DELETE FROM tbl_games WHERE id=$id"