我有一个html表单,其中包含从mySQL填充的选择下拉列表,它正确检索并在选择下拉列表中显示数据。
但是,我无法让 delete.php 正常工作。这是select.php和delete.php的脚本。
<select name="name">
<?php
while ($line = mysql_fetch_array($result, MYSQL_BOTH)) {
?>
<option value="<?php echo $line['part_no'];?>"> <?php echo $line['part_no'];?> </option>
<?php
}
?>
</select>
delete.php
<?
$name = $_POST['name'];
$query = "delete from cartons_current where name = '".$name."'";
if(mysql_query($query)){
echo "deleted";}
else{
echo "fail";}
?>
答案 0 :(得分:3)
看看上面的评论,看起来heckler的意思就是he ..我们中的一些人仍在学习堆栈编程,所以我将尝试提供帮助。
您是否有列选择问题 - 您的while循环不输出您希望删除字段匹配的列中的值?
您的SQL查询建议您根据名称列轮询匹配,但您的选择下拉列表似乎是part_no。
尝试:DELETE from cartons_current WHERE part_no=
...
-
此外,作为针对SQL注入攻击的第一级防范,请尝试使用
清理所有$ _REQUEST字段参数(例如,它们被称为$var
)
$var = mysql_real_escape_string($var)