我的代码有什么问题吗?第一种情况运行良好,但是第二种,第三种和第四种没有做任何事情
switch ($item) {
case "processor":
$brand = $_POST['brand'];
$socket = $_POST['socket'];
$sql = "UPDATE processor SET name='$name', brand='$brand', socket='$socket', price='$price' WHERE id='$id'";
mysql_query($sql) or die();
header('location :item_list.php');
break;
case "motherboard":
$socket = $_POST['socket'];
$mem_type = $_POST['mem_type'];
$sql = "UPDATE motherboard SET name='$name', socket='$socket', mem_type='$mem_type', price='$price' WHERE id='$id'";
mysql_query($sql) or die();
break;
case "ram":
$mem_type = $_POST['mem_type'];
$sql = "UPDATE processor SET name='$name', mem_type='$mem_type', price='price' WHERE id='$id'";
mysql_query($sql) or die();
header('location :item_list.php');
break;
default:
$sql = "UPDATE $item SET name='$name', price='$price' WHERE id='$id'";
mysql_query($sql) or die();
header('location :item_list.php');
break;
}
您的switch语句很好。在switch ($item) {
行之前添加trace语句,以向您显示$ item实际传递的值。期望值和实际值之间可能存在细微差异。
此外,请务必阅读kerbholz在评论中提供的链接,以确保您不会编写易受攻击的代码。
-根据规则删除了代码帮助-