使用PDO插入多行

时间:2015-05-13 15:23:26

标签: php mysql pdo

我在<form>标记中有一个多重复选框,如下所示:

<input type="checkbox" name="del[]" value="<?php echo $menuItems['id']; ?>">

我用这段代码问这个表格:

if (isset($_POST['subgruppe'])) {
        $ids = array();

    foreach ($_POST['del'] as $pval) {
        $ids[] = (int) $pval;
    }

    $ids = implode(',', $ids);
    echo "groupids";
    echo $ids;
    echo "userid:";
    echo $_POST['userid'];

这显示了这样的结果:

groupids13,9...userid:5 

我需要一个能给我这样结​​果的声明:

INSERT INTO user_groups (usergroup, userid) VALUE (13,5),(9,5)

... 你能给我一个暗示我怎么检查这个? 我想我可以给出一个给我的解决方案: (13,5),(9,5)......变成变量。

经常感谢:)

1 个答案:

答案 0 :(得分:2)

在循环播放时,您不必为所有INSERTS构建单个字符串。

例如:

$sql = "INSERT INTO user_groups (usergroup, userid) VALUE (:usergroup, :userid)";
$stmt = $pdo->prepare($sql);
foreach ($_POST['del'] as $pval) {
    $stmt->execute(array(':usergroup'=>(int) $pval, 
                         ':userid'=>$_POST['userid']
    ));
}