взорвать недопустимые аргументы - PullRequest
0 голосов
/ 25 июля 2009
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]: неверные аргументы переданы в C: \ pub \ test.php в строке 4 УДАЛИТЬ ИЗ pms WHERE id IN ()

Что я здесь не так делаю? Схожу с ума здесь ..

Ответы [ 3 ]

4 голосов
/ 25 июля 2009

Вам нужно использовать $_POST['rowid'], если вы берете это из поста.

Также:

Санируйте свой SQL!

0 голосов
/ 26 июля 2009

похоже, что вы читали какое-то действительно старое руководство по 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']);
}
0 голосов
/ 25 июля 2009

Вы не передаете правильную переменную своей функции. Вам нужно позвонить с

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