所以,这里有一个显示MySQL数据库中数据的表。我在第一行附加了复选框,用于选择要删除的名称,这些名称是唯一的。如何使用数组或PHP中的任何其他方式从数据库中删除表单中的已检查数据。
这是我的代码,
我的PHP脚本显示数据,
It = db.Interns.FirstOrDefault(x => x.ID == ItObj.ID);
我的PHP脚本删除数据,
<form method='POST' action='../../panel/delete_others.php'>
<table id='example1' class='table table-bordered table-hover'>
<thead>
<tr>
<th>Mark User </th>
<th>User name</th>
<th>User Password</th>
<th>User Type</th>
<th>User Status</th>
</tr>
</thead>
<tbody>";
while($row = mysqli_fetch_array($result2)){
echo "<tr>
<td> <input type='checkbox' name='others_delete[]' value='".$row['USER_NAME']."'/></td>
<td>".$row['USER_NAME']."</td>
<td>".$row['USER_PASSWORD'].
"</td>
<td>".$row['USER_type']."</td>
<td>".$row['USER_STATUS']."</td>
</tr>";
}
echo "</tbody>
</table>
</form>
&GT;
所以,我写的代码似乎没错,但每当我点击提交按钮时,我都会得到空白页。
答案 0 :(得分:0)
您收到空白页面,因为以下任何一行代码都返回false
if(!empty($_POST['others_delete'])){
或
if(isset($_POST['submit'])){
答案 1 :(得分:0)
您检查if(isset($_POST['submit']))
但是您的信息不包含具有该名称的输入元素,因此您的$_POST
变量不应该包含该密钥,导致您的部分被跳过。
您可以在php文件的末尾或开头调用var_dump($_POST);
进行检查。
如您的问题评论中所述:您使用的是mysqli。您应该考虑使用预准备语句。它们在单次使用(个人观察)上更快,如果在您的情况下重复使用会更快。另一个优点:它们可以对抗sql注入!