我想要使用php来选择和删除表中的多行。每当我选择检查多行来删除时,我会得到这样的错误:“你的SQL语法有错误;查看与你的MySQL服务器版本相对应的手册,查看在第1行'id 5'附近使用的正确语法” 。当我单独检查我的复选框时,我可以删除单行。这里是一个片段,以我的代码:使用复选框删除多行
<?php
mysql_connect("localhost", "root", "") or die(mysql_error());
mysql_select_db("mydatabase") or die(mysql_error());
if (isset($_GET['delete'])){
$multiple = $_GET['multiple'];
$i = 0;
$sql = "DELETE FROM product ";
foreach ($multiple as $item_id) { $i ++;
if ($i == 1){
$sql .= " WHERE id = " . mysql_real_escape_string($item_id) . "";
} else{
$sql .= "OR id ". mysql_real_escape_string($item_id) . "";
}
}
mysql_query($sql) or die(mysql_error());
header("location: " . $_SERVER['PHP_SELF']);
exit();
}
?>
这是一个语法错误'或ID “.'缺少'=' –
'$ SQL =” OR ID“。mysql_real_escape_string($ item_id)。”“;'失败的原因有两个,缺少等号和OR',我不知道你为什么使用它和'if/else'。读取为'$ sql =“DELETE FROM product OR id”。mysql_real_escape_string($ item_id)。“”;'在'else'中,因此你的if($ i == 1){'失败了。 –