有兩個(gè)方法可供選擇,一種是把數(shù)據(jù)存入csv文件,然后執(zhí)行l(wèi)oad data infile
創(chuàng)新互聯(lián)建站長期為上千多家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對不同對象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺,與合作伙伴共同營造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為和平企業(yè)提供專業(yè)的做網(wǎng)站、成都網(wǎng)站建設(shè),和平網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。
還有一種就是類似于sql server里面的bulk insert,使用insert語句插入批量數(shù)據(jù),結(jié)合PHP的implode函數(shù),
可以很簡單的實(shí)現(xiàn)大批量數(shù)組數(shù)據(jù)的一次性插入。
[php] view plaincopy
$statement = "INSERT INTO table (title, type, customer) VALUES ";
foreach( $data as $row) {
$statement .= ' ("' . implode($row, '","') . '")';
}
不過大批量數(shù)據(jù)的插入,需要注意mysql在內(nèi)存上有限制:
bulk_insert_buffer_size變量的默認(rèn)大小為8M, 是指單個(gè)線程占用的大小限制,設(shè)置為0,表示不做限制。
利用PHP對數(shù)組賦值時(shí)下標(biāo)變量會自動遞增的特點(diǎn),可以很方便用循環(huán)將數(shù)據(jù)存入一個(gè)數(shù)組。例如:$arr[] = 'a'; 這條語句會將字符a存入數(shù)組變量$arr中,如果$arr不存在則會新建一個(gè);若已存在,則將$arr數(shù)組的下標(biāo)變量遞增1后存入字符。也就是說,如果已有$arr[0]='a', 那么執(zhí)行 $arr[] = 'b'; 后,數(shù)組其實(shí)是進(jìn)行了$arr[1] = 'b' 的操作。
直接存數(shù)組里的字符串就行了。
如$a="0,1,2,3,";或$a=join(",",array(0,1,2,3));
mysql_query("INSERT INTO admin (monday) VALUES($a)");
這樣字段monday的就是0,1,2,3,
讀取的時(shí)候要重新組成數(shù)組的話就分割重組。
可以按照 ly4885806 的方法 序列化成字符串插入數(shù)據(jù)庫,不過這個(gè)只能插入一個(gè)字段不循環(huán)
如果你的數(shù)據(jù)是需要插入多個(gè)行和字段的話只能循環(huán)了
$Array = Array ( [0] = Array ( [0] = 張三 [1] = 70 ) [1] = Array ( [0] = 李四 [1] = 80 ) [2] = Array ( [0] = 王五 [1] = 90 )
?
$in_value_arr = array();
foreach($Array as $key=$value){
foreach($value as $k=$v){
$in_value_arr[]="(**,**,**)";
}
$in_value = '('.implode('),(', $in_value_arr).')';
$sql = "INSERT INTO tbl_name (col1,col2) VALUES{$in_value};";
}
?
分享名稱:php數(shù)組批量錄入數(shù)據(jù)局,php數(shù)組添加數(shù)據(jù)
當(dāng)前路徑:http://chinadenli.net/article30/hescso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站設(shè)計(jì)公司、App設(shè)計(jì)、網(wǎng)站維護(hù)、云服務(wù)器、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)