我正在努力使用下拉菜单删除数据库中的数据。 我的下拉菜单看起来像这样
<form method="post" action="admin.php">
<h3>Delete a user</h3>
<select name="username">
$sql = mysqli_query($connection, "SELECT username FROM users");
while ($row = $sql->fetch_assoc()){
?>
<option value="username" name="username">
<?php echo $row['username']; ?></option>
<?php } ?>
<input type="submit" name="delete" value="Delete User">
</form>
这就像我想要的那样向用户显示所有内容,所以这是它的 php
<?php
include('connect.php');
if(isset($_POST['delete'])) {
$username = $_POST['username'];
mysqli_query("DELETE FROM `users` WHERE `username` = '$username' ");
echo "User was deleted!";
}
?>
所以当我点击提交按钮“删除用户”时,看起来我被发送到 admin.php 并且没有任何反应。
我该如何解决这个问题? 谢谢。
最佳答案
- 替换
name="username"
来自<option></option>
value
中的回显值|选项。- admin.php 页面中缺少连接变量
更新代码
<select name="username">
<?php
$sql = mysqli_query($connection, "SELECT username FROM users");
while ($row = $sql->fetch_assoc()){?>
<option value="<?php echo $row['username']; ?>"><?php echo $row['username']; ?></option>
<?php }?>
</select>
admin.php
$stmt = $connection->prepare("DELETE FROM `users` WHERE `username` = ?");
$stmt->bind_param('s', $username);
$stmt->execute();
关于php - 使用PHP中的下拉菜单删除数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45010655/