目前我有一个包含超过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
]);

我觉得必须有一种方法可以通过某种循环来实现这一目标,这样我的查询就不会像这样可笑而且非常混乱。
答案 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 `,`