<?php set_time_limit(0); header("Content-type: text/html; charset=utf-8"); date_default_timezone_set('Asia/Shanghai'); $dsn = 'mysql:host=localhost;dbname=daogou'; $db = new PDO($dsn, 'root', 'admin', array(PDO::ATTR_PERSISTENT => true)); // $db->query('delete from testsql'); $count = 100; $testInsert = new InsertDB(); // $testInsert->run_batch_insert($count,$db); // $testInsert->run_batch_insert_update($count,$db); // $testInsert->run_insert($count,$db); // $testInsert->run_insert_update($count,$db); $testInsert->run_insert_transation($count, $db); class InsertDB { /* * 批量插入数据 */ public function run_batch_insert($count, $db) { $t1 = microtime(true); $sqlStr = "insert into testsql(g_id,g_name) values"; for ($i = 1; $i <= $count; $i++) { // echo 'insert_batch g_id--'.$i.'<br/>'; $sqlStr = $sqlStr . '(\'520310904229\',\'新奇特创意家居韩国实用家庭生活日用品懒人礼物百货小商品神器\'),'; } $sqlStr = substr($sqlStr, 0, strlen($sqlStr) - 1); //数据插入更新 // $goodMethods->insertGoods($sqlStr);
if ($index > 1) { break; } $p_thread = []; $record_results = api_results_get($client, $category['c_name'], $isTMallStr); // echo $record_results; // 搜索记录数不足需要的记录量,则全部获取,如果超出需要的量,则只取需要的数据量 if ($record_results < $productCount) { $pageCount = floor($record_results / $pageSize) + 1; } else { $pageCount = $productCount / $pageSize; } for ($page = 1; $page <= $pageCount; $page++) { $data = api_data_get($client, $category['c_name'], $isTMallStr, $page, $pageSize); $product_info = analyseResults($data, $mall_id, $category['id']); $insertToDB = new InsertDB($product_info); $insertToDB->run_insert($goodMethods); } $index++; sleep(2); ob_flush(); //输出缓冲区中的内容 flush(); //刷新输出缓冲 } /** *获取本次查询的总记录数 */ function api_results_get($client, $category, $isTMallStr) { $req = new TbkItemGetRequest();