我试图使用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";}
但它似乎无法奏效。请帮忙!!
答案 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"