PDO SQL - 插入数十个字段

时间:2017-02-27 21:36:48

标签: php mysql pdo

目前我有一个包含超过25个字段的表单的页面,所有页面都发布到单个文件中,该文件抓取帖子并将它们存储在SQL数据库中。我发现为每个帖子值分配变量效率极低,必须有一个eaiser解决方案。

以下是我的例子:



/*Post Data*/
$val_1 = $_POST['val_1'];
$val_2 = $_POST['val_2'];
$val_3 = $_POST['val_3'];

$query = $handler->prepare("INSERT INTO `database` (col_1, col_2, col_3) VALUES (:val_1, :val_2, :val_3)");
$query->execute([
    ':val_1'    => $val_1,
    ':val_2'    => $val_2,
    ':val_3'    => $val_3
]);




我觉得必须有一种方法可以通过某种循环来实现这一目标,这样我的查询就不会像这样可笑而且非常混乱。

1 个答案:

答案 0 :(得分:2)

以一种简单的方式:

$query = $handler->prepare("INSERT INTO `database` (col_1, col_2, col_3) VALUES (?, ?, ?)");
$query->execute($_POST);

使用str_repeat,您可以根据需要重复符号,例如:

$times = 20; // or sizeof($_POST);
$str = str_repeat('?,', $times);
$str = rtrim($str, ',');    // remove last `,`