php - 使用数组循环进行 PDO 插入

标签 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 等)的数字以及答案变量数组。我只是不知道如何解决这个问题。

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

最佳答案

虽然 @IMSoP 在更大的方面是正确的,但在我看来,您在这里所需要的只是一个包含 $student_name 的数组,后跟所有 $answer 数组。

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

就是这样做的。如果您想要部分但不是全部 $answer,可以使用 array_slice。

关于php - 使用数组循环进行 PDO 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23047649/

相关文章:

jquery - Hive 查询到组

php - Mac 本地主机站点文件夹权限问题

php - jQuery UI 自动完成多个远程(JSON、PHP、JS)

php - 我想对两列的行求和,然后使用 php update 将该值插入同一表中的另一列的行。是否可以?

mysql - 无法找出 perl DBI 中的占位符

php - 是否需要确保向 MySQL 数据库提交正确的数据类型?

PHP PDO 连接到 MySQL 失败,mysql_connect 工作正常

MySQL 无法识别我的 HTML 表单选择值

php - 不需要很多页面的侧边菜单

php - 覆盖 Symfony 2 异常?