【问题标题】:I have some tables in my db and i want to delete this on click button which i select on the option tag我的数据库中有一些表,我想在单击按钮上删除它,我在选项标签上选择
【发布时间】:2017-05-16 02:08:58
【问题描述】:

我的数据库中有一些表,我想在单击按钮时将其删除 在选项标签上选择

    <?php 
  $db = mysqli_connect('localhost','root','','post15');
  if (isset($_POST['submit2'])) {
  $query = $db->query("DELETE FROM posted WHERE title");
  if ($query) {
    echo "Post DELETED";
  }

 }?>
  <form method="post" action="admin.php">
     <select name="categoryBox">

            <?php 
                 $query = $db->query("SELECT * FROM posted");
                    while ($row = $query->fetch_object()){
                        echo "<option value='".$row->id."'>".$row->title."
              </option>";
                    }
            ?>

            </select>
        <input type="submit" name="submit2">    
    </form>

【问题讨论】:

  • 似乎你有一个磨损的 where 表达式.. 如果你想删除所有你应该使用 $query = $db->query("DELETE FROM posted ");
  • 我不想删除所有代码,我想删除我在选项标签上选择的代码
  • 然后为那里的表达式分配一个有效值,例如: where title = 'my_tag';
  • DELETE FROM posted WHERE title = ? 并且它使用准备好的语句表示;你应该这样做。
  • 我好像明白了这个想法

标签: php html mysql


【解决方案1】:

您提供的代码不起作用,您尝试使用标题删除,但您的下拉选项值不是标题,因此您应该考虑删除所选标题的 id

 if (isset($_POST['submit2'])) {
  $query = $db->prepare("DELETE FROM posted WHERE id = ? ");
  $query->bind_param("i",$_POST['categoryBox']);
  if ($query->execute()) {
    echo "Post DELETED";
  }

【讨论】:

    【解决方案2】:

    试试这个。

      <form method="post">
    Id: < input type="text" name="id">
    <input  type="submit" value="submit">
    </form>
    <?php 
    $_POST['id']
    $db=mysql_connect("localhost","root","");
    mysql_select_db("post15",$db);
    mysql_query("DELETE FROM posted WHERE id=$id",$db);
    echo"ID ".$_POST['id']." has been Deleted ";
    ?>    
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      相关资源
      最近更新 更多