晓夏

北漂的女孩

Good Luck To You!

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);
}

?>

是不是很简单,执行一次脚本,只需要操作一次数据库。哈哈,大家赶紧行动起来优化自己的代码吧?

神回复

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。