我有一个表单将复选框提交给PHP PDO脚本。我有代码,如下将值存储到一个MySQL表使用PDO在mysql表中插入多个值
$stmt = $dbPDO->prepare("INSERT INTO group_members(g_id, em_id)
VALUES(:g_id,:em_id)
ON DUPLICATE KEY UPDATE g_id = :g_id, em_id = :em_id");
foreach ($_POST['id'] as $email) {
$stmt->bindParam(':g_id', $gid , PDO::PARAM_INT);
$stmt->bindParam(':em_id', $email , PDO::PARAM_STR);
$stmt->execute();
}
PHP Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY093]: Invalid parameter number'
这将产生错误。将多个值插入到具有不同值的mysql表中的最佳方法是什么?
最好的方法是阅读手册'当您调用PDOStatement :: execute()时,您必须为每个希望传入语句的值包含一个唯一的参数标记。除非启用了仿真模式,否则不能在准备好的语句中多次使用同名的命名参数标记。 ' –