我一直在使用以下查询将我的数据上传到mysql数据库:
$sql = array();
foreach( $data as $row ) {
$sql[] = '("'.mysql_real_escape_string($row['text']).'", '.$row['category_id'].')';
}
mysql_query('INSERT INTO table (text, category) VALUES '.implode(',', $sql));
由于我开始使用PDO,我的查询看起来像这样:
$query="INSERT INTO mytable (name, use) VALUES(:sname, :usee)";
$res = $db_conn->prepare($query);
$res->bindValue(':sname',$value);
$res->bindValue(':usee',$_SESSION['usee']);
$res->execute();
现在上面的代码块很好,但现在当我浏览我的CSV上传内容时,我再次向后看并使用第一个代码。现在也想使用相同的PDO进行CSV上传。
是否有使用PDO一次在数据库中上传多个值的技巧?
答案 0 :(得分:1)
是的,你可以使用一些你将执行的循环,如下所示:
$query = $db->prepare(
'INSERT INTO mytable (name, use) VALUES(:sname, :usee)'
);
foreach($mainArrayOfveluus AS $arrayOfValue){
$query->execute(array(
':sname' => $arrayOfValue['sname'],
':usee' =>$arrayOfValue['usee']
));
}
$query->commit();