【发布时间】:2014-11-24 07:18:24
【问题描述】:
这个问题非常基本,我在 stackoverflow 中发现了许多类似的问题,但没有一个对我有用。
我设计了一个表格,可以显示如下数据:
ID name Delete
1 abc Delete
2 def Delete
上面显示的代码是
<?php
$con=mysqli_connect("abc","abc","abc","abc");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$result = mysqli_query($con,"SELECT * FROM student");
echo "<table class='table table-striped table-bordered table-hover'>
<thead>
<tr>
<th>ID</th>
<th>name</th>
<th>delete</th>
</tr>
</thead>";
while($row = mysqli_fetch_array($result))
{
echo "<tbody data-link='row' class='rowlink'>";
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['name'] . "</td>";
echo "<td><a href='delete.php'>Delete</a></td>";
echo "</tr>";
echo "</tbody>";
}
echo "</table>";
mysqli_close($con);
?>
delete.php 的代码
<?php
$con=mysqli_connect("abc","abc","abc","abc");
// Check connection
if (mysqli_connect_errno()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
mysqli_query($con,"DELETE FROM student WHERE id='$id'");
mysqli_close($con);
header("Location: index.php");
?>
数据库视图
Id name
1 abc
2 cdf
问题是它没有删除数据,也没有显示任何错误
我是这个领域的新手,如果有人可以帮助我,将不胜感激
【问题讨论】:
-
您的删除代码中没有定义
$id; 你有吗?它没有显示/包含。 -
您还在整数周围加上引号,并且无法检查您的函数返回。
-
让你的删除脚本成为一个简单的 GET 方法肯定会让你大吃一惊。永远不要在 get 后面放置像这样的破坏性操作 - 考虑如果您的浏览器决定预取页面上的所有链接会发生什么。 “哎呀”。
-
有人能告诉我运行查询的正确方法吗
-
@Sam “谁能告诉我运行查询的正确方法” - 当然。看看我下面的回答。它现在可以工作了。但是请考虑使用准备好的语句,它们更安全。链接已列出。