在 PHP PDO MySQL 中插入多行:代码比较和优化
在处理需要将多行插入 MySQL 表时,使用PHP PDO,开发者可能会遇到两种主要方法。
方法1:
$stmt = $db->prepare($sql); foreach($rows as $row){ $stmt->execute($row); }
方法 2:
$sql = "insert into `table_name` (col1, col2, col3) values "; $sql .= //not sure the best way to concatenate all the values, use implode? $db->prepare($sql)->execute();
代码性能和安全性:
两者方法是可行的,但它们在执行速度和
方法 1:
方法 2:
选择最佳方法:
最佳方法取决于要插入的数据集的大小。对于小型数据集,任何一种方法都适合。对于速度至关重要的大型数据集,建议采用参数化查询的方法 2。
其他优化:
方法 2 中的批量插入可以通过连接在执行查询之前添加占位符:
$sqlArray = array(); foreach($rows as $row){ $sqlArray[] = '(' . implode(',', array_fill(0, count($row), '?')) . ')'; } $sql .= implode(',', $sqlArray);
这显着减少了需要的占位符数量执行前绑定,提升性能。
以上是在 PHP PDO MySQL 中插入多行哪种方法更好?的详细内容。更多信息请关注PHP中文网其他相关文章!