使用数组循环插入PDO

时间:2014-04-13 19:51:06

标签: php mysql pdo

我已经看到了一些类似于我的问题但没有一个使用数组循环来表示列和要插入的值。我是PDO的新手,所以我对如何使这项工作感到有些失落。

我正在创建一个表单,学生可以输入多项选择题的答案,并将答案存储在数据库中。有68个问题。现在我很难对每一列进行编码,并且像这样编码:

 $stmt = $DBH->prepare("INSERT INTO my_table (student, q1, q2, etc...) 
  VALUES (?, ?, ?, etc...) ");
$stmt->execute(array($student_name, $answer[1], $answer[2], $answer[3], 
     etc... through  $answer[68]));

这样可以正常工作,但必须有一种更简单的方法来执行此操作,而无需键入每个实例。我希望能够遍历表格列(上面的q1等)以及答案变量数组的数字。我根本不知道如何处理这个问题。

即使自动拥有正确数量的占位符问号 - 甚至可能吗?

1 个答案:

答案 0 :(得分:0)

虽然@IMSoP在更大的点上是正确的,但在我看来,你需要的是一个带有$ student_name的数组,后跟所有$ answer数组。

$stmt->execute(array_merge(array($student_name), $answer)));

那样做。如果你想要一些但不是全部的$ answer,你可以使用array_slice。