php - 无法从值包含中间空格的表中删除条目?

标签 php mysql

我可以删除只有一个词的条目,例如“番茄”或“土 bean ”。 无法删除包含多个词的条目,例如“南瓜汤”。

这是为什么?

这是我的 PHP:

<?php
                   if(!empty($_POST['event_name_box']))
                   {
                    $del_event=$_POST['event_name_box'];
                    $sth = $conn->prepare("DELETE FROM event WHERE event_name=:del");
                    $sth->execute(array(':del'=>$del_event));
                    header( "Refresh: 0;" );
                   }
            ?>

这就是我在下拉列表中加载值的方式:

 <select name="event_name_box" value="event_name_box" style="width:220px; padding-left:40px;font-size:18px;font-family:Roboto;">
            <?php
            $sth = $conn->prepare('Select event_name From event');
            $sth->execute();
            $data = $sth->fetchAll();   
            foreach ($data as $row ){
                if($row['event_name']!="")
            echo " <option id=\"EventName\" name=\"EventName\" value=".$row['event_name'].">".$row['event_name']."</option>";
            }
            ?> 
            </select><br>
            <input type="submit" name="submit" style="width:50%;padding:10px" value="Delete"</input>

最佳答案

问题出在您的 HTML 中(特别是 <option> 标签)。您的值未被引用,因此空格打破了 POST 中发送的值。将您选项上的 echo 更改为如下所示:

echo '<option value="' . $row['event_name'] . '">' . $row['event_name'] . '</option>';

(您也不应该在 name 标签上使用 id<option>。)

关于php - 无法从值包含中间空格的表中删除条目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37495549/

相关文章:

php - 如何同时插入和删除行数据

php - 如何为多个查询编写 if 条件,例如

java - Java 和 PHP 应用程序

php - 使用 for 循环将数组插入表中

mysql - 带有 MySQL LEFT JOIN 的 WHERE 子句

mysql - 查找一个或多个用户之间的对话

mysql - 当字段输入以 # 开头时从 sql 中排除特定数据

php - PDO 对用户名匹配的行进行计数

php - 奇怪而烦人的错误 : Call to undefined function mysql_query()

php - MySQL 触发器 : updating column depending of a submitted value