使用PDo将数据插入mysql的更有效方法

时间:2014-01-25 13:13:32

标签: php mysql pdo mysqli

好的,我执行以下代码将数据插入数据库:

$db_conn->beginTransaction();
$query = $db_conn->prepare('INSERT INTO mytable(name, user) VALUES(:name, :user)');
foreach($UploadData AS $DataValue)
{
    $query->execute(array(':name' => $DataValue['Name'],':user' =>$_SESSION['user']));
}
$db_conn->commit();

现在,如果我有那么多数据,此代码块execute()会运行100s时间。就像我之前使用基本mysqli concatenation并执行查询一样。

这也可以用PDO完成吗?

1 个答案:

答案 0 :(得分:1)

$SQL = 'INSERT INTO mytable (name, user) VALUES';

foreach( $UploadData AS $DataValue)
    $SQL .= sprintf(" ( '%s', '%s' ),", $DataValue['Name'], $DataValue['user'] );

$SQL = substr($SQL, -1);

$query = $db_conn->prepare($SQL);
$query->execute();

结果

INSERT INTO mytable (name, user) VALUES ('VAL', 'VAL'), ('VAL', 'VAL') ....