php - 使用PHP中的下拉菜单删除数据库中的数据

标签 php mysql mysqli

我正在努力使用下拉菜单删除数据库中的数据。 我的下拉菜单看起来像这样

<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 并且没有任何反应。

我该如何解决这个问题? 谢谢。

最佳答案

  1. 替换name="username"来自 <option></option>
  2. value 中的回显值|选项。
  3. 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/

相关文章:

php - 将 JSON 数组返回到 Laravel 中的 View

php - 数据库文件无法创建连接

php - mysqli 绑定(bind)参数数据类型

php - 如何在foreach循环内求和计数查询?

php mysqli 查询期望参数 1 为字符串

php - 用于下拉值问题的 Javascript onchange

PHP-无法从 mysql 插入和获取阿拉伯数据

php - Mysqli 准备无法在另一个准备好的语句中工作

mysql - 范围查询不使用mysql中的索引

sql - MySQL中删除后自动增量