mysql insert 一次性批量插入多条语句
浏览量:420
等你干过一段时间的程序后,你是不是想着如何来优化自己的代码,现在我想到了如何优化php对数据库的操作,以前的我都是循环一次查询一次数据库,插入一次数据库,久而久之数据库的压力越来越大,导致程序越来越慢,于是我想到了优化自己的代码?
查询一次数据库,放在数组里,需要的数据从数据里拿出来
给大家展示一下批量插入数据:
<?php //获取文件标题和地址 $a = $html->find('h3 a'); $b = $html->find('ul li div p'); $c = $html->find('ul li p[class="source"]'); $in = $sql_in=""; for ($i = 0; $i < 10; $i++) { $da = str_replace('时间:', '', explode(" ", $c[$i]->plaintext)); $title = addslashes($a[$i]->plaintext);//标题 $hash = md5($title . $platform . $t); $sql = "select * from {表名字} where title_platform_hash = '{$hash}'"; $re = $NEW_MDB->result($sql); if ($re) { //echo "已经抓取过" . PHP_EOL; continue; } else { $in .= "($platform" . ',"';//来源 $tit = addslashes($a[$i]->plaintext); $in .= $tit . '","';//标题 $in .= $a[$i]->href . '","';//地址 $in .= $hash . '","';//加密 $in .= $t . '","';//时间 $in .= addslashes($b[$i]->plaintext) . '"),';//内容简介 } } $sql_in = rtrim($in, ','); if($sql_in){ $sql = "INSERT INTO "表名字" (`platform`,`title`,`href_address`,`title_platform_hash`,`time`,`content`) VALUES {$sql_in}"; $res_update = $NEW_MDB->query($sql); } ?>
是不是很简单,执行一次脚本,只需要操作一次数据库。哈哈,大家赶紧行动起来优化自己的代码吧?
神回复
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。