0
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 ()

我在这里做错了什么?在这里发疯。。

4

3 回答 3

4

$_POST['rowid']如果您从帖子中获取它,您需要使用。

还:

清理你的 SQL!

于 2009-07-25T17:29:07.007 回答
0

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

if (isset($_POST['submit']))  
{
    delete($_POST['rowid']);
}
于 2009-07-25T17:28:41.857 回答
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']);
}
于 2009-07-25T21:30:49.107 回答