内爆无效参数

时间:2009-07-25 17:23:47

标签: php implode

function delete($rowid) 
{
   $rowids = implode(", ",$rowid);
   $sql = "DELETE FROM pms WHERE id IN (".$rowids.")";
   print $sql;
}

if (isset($_POST['submit']))  
{
    delete($rowid);
}

?>

<form method="post" action="test.php">

<input type="checkbox" name="rowid[]" value="1771367" /><br >
<input type="checkbox" name="rowid[]" value="345342" /><br >
<input type="checkbox" name="rowid[]" value="572347" /><br >
<input type="checkbox" name="rowid[]" value="902358" /><br >
<input type="checkbox" name="rowid[]" value="234654" /><br ><br >

<input type="submit" name="submit" />

</form>
  

警告:implode()[function.implode]:传入的参数无效   第4行的C:\ pub \ test.php DELETE FROM pms WHERE id IN()

我在这里做错了什么?在这里疯狂..

3 个答案:

答案 0 :(得分:4)

如果您从帖子中获取该内容,则需要使用$_POST['rowid']

此外:

清理您的SQL!

答案 1 :(得分:0)

您没有将正确的变量传递给您的函数。你需要用

来调用它
if (isset($_POST['submit']))  
{
    delete($_POST['rowid']);
}

答案 2 :(得分:0)

看起来你读了一些非常古老的PHP手册register_globals = on,你需要在你的情况下阅读POST参数..

function delete($rowid) 
{
   $rowids = implode(", ",$rowid);
   $sql = "DELETE FROM pms WHERE id IN (".$rowids.")";
   print $sql;
}

if (isset($_POST['submit']))  
{
        delete($_POST['rowid']);
}