我有一个表单,允许多个文本框供用户添加不同的问题名称,然后将这些名称传递给一个数组:
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();
这给了我
Array to string conversion" error.
我测试了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();
}
关于php - PDO 向 MySQL 数据库中插入一个简单的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35440455/