Php PDO在MySQL数据库中插入一个简单数组

Php PDO在MySQL数据库中插入一个简单数组,php,mysql,arrays,forms,pdo,Php,Mysql,Arrays,Forms,Pdo,我有一个表单,允许用户在多个文本框中添加不同的问题名称,然后将这些名称传递到数组: name="question_name[] 如何使用PDO和MySQL将此数组插入到问题表中?我试过: $sql = "INSERT INTO questions (`question_name`) VALUES (:question_name)"; $stmt = $db->prepare($sql); $stmt->bindValue(':question_name', $question_na

我有一个表单,允许用户在多个文本框中添加不同的问题名称,然后将这些名称传递到数组:

name="question_name[]
如何使用PDO和MySQL将此数组插入到问题表中?我试过:

$sql = "INSERT INTO questions (`question_name`) VALUES (:question_name)";
$stmt = $db->prepare($sql);
$stmt->bindValue(':question_name', $question_name);
$stmt->execute();
这给了我

“数组到字符串转换”错误

我已经测试了
print\r
语句,结果与预期一致:

Array ( [0] => [Answer1] => [2] => [Answer2]) 
等等…取决于使用的文本框数量

我知道这与BindValues/BindParam/execute()语句有关,我只希望有一个正确的方法可以帮助我学习。谢谢。

简单解决方案:

$sql = "INSERT INTO questions (`question_name`) VALUES (:question_name)";
// prepare a stamemnt only once
$stmt = $db->prepare($sql);
$stmt->bindParam(':question_name', $question_name);
// iterate over your POST[question_name] array
foreach ($_POST['question_name'] as $question_name) {
    $stmt->execute();
}

:questions\u name
!=
:question\u name
@JayBlanchard谢谢你的帮助,我已经改变了,同样的错误持续出现了一个简单的解决方案。真的不需要解释。谢谢你!@YourCommonSense那是
bindValue
兄弟。做第二次更改并设置
bindParam
。刚刚意识到编辑它是愚蠢的我做了。不知道我在想什么,但我似乎完全心不在焉。我道歉。