使用 PDO 准备好的语句插入多行
使用单个准备好的语句将多行插入数据库不仅是可能的,而且推荐用于它的效率和安全性。
单个插入的方法查询
第一种方法涉及使用具有多个值的单个 INSERT 查询:
INSERT INTO Table (col1, col2, col3) VALUES ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi'), ('abc', 'def', 'ghi') -- and so on...
要使用 PDO 执行此查询,可以按照以下步骤操作:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (?, ?, ?), (?, ?, ?), (?, ?, ?) "; $params = array('abc', 'def', 'ghi', 'abc', 'def', 'ghi', 'abc', 'def', 'ghi'); $stmt = DB::getInstance()->prepare($query); $stmt->execute($params);
单独插入查询的方法
如果要插入的行数太大,您可能需要执行单个插入查询:
$query = "INSERT INTO Table (col1, col2, col3) VALUES (".implode(',', $args).")"; $stmt = $pdo->prepare($query); foreach ($rows as $row) { $stmt->execute($row); }
此方法可确保每行单独插入,从而最大程度地降低插入过程中出现问题的风险。
结论
是否使用单个插入具有多个值的查询或单个插入查询,PDO 准备语句提供了将多行插入数据库的高效且安全的方法。选择正确的方法取决于应用程序和数据库的具体要求。
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3