thinkphp中的model操作有兩個方法:add()和addall
1$user = m("user"); //
例項化user物件
2$data['name'] = 'thinkphp';
3$data['email'] = '[email protected]';
4$user->add($data);5
6$datalist = array('name'=>'thinkphp','email'=>'[email protected]');
7$datalist = array('name'=>'onethink','email'=>'[email protected]');
8$user->addall($datalist);
addall方法可以做到批量新增資料的功能,也就是mysql的這種用法:
資料量很多情況下盡量選擇批量插入而不是迴圈逐條插入,否則你的資料庫會吃不住掛掉。insert into tbl_name (a,b,c) values(1,2,3),(4,5,6),(7,8,9);
不過如果你想當然的將所有資料全部存入乙個陣列並進行addall也同樣會面臨掛掉的情況,這是為什麼呢?
原因就是mysql中max_allowed_packet變數的配置限制了上傳sql語句的長度,在mysql配置中將他配置大一點就行了
max_allowed_packet = 100m
同時在插入資料時也做好批量插入的長度限制,畢竟你不知道什麼時候資料會變成百萬級別的。
關於arrayList的add和addall
如果連線2個arraylist,比如a和b,如果直接寫a.addall b 有可能連線不上,最常見的方法是定義乙個新的arraylist c,再c.addall a 和c.addall b arraylist是乙個實現可變長陣列,繼承abstractlist類,實現所有的list介面,還實現了ran...
關於arrayList的add和addall
花了一周時間,重構了系統中最重要的一段下發列印邏輯的 理清了各型別間的呼叫關係,得意之際,測試告訴 資料異常了,花了5個小時的測試,終於發現了問題,用錯了arraylist的addall方法,下面列舉下add和addall方法。arraylist是乙個實現可變長陣列,繼承abstractlist類,...
關於thinkphp的模板輸出
thinkphp輸出模板的話很簡單其實很簡單,首先的話是要定義乙個變數 name2 maobaobao 定義乙個變數 this assign name1 name2 把php的assign方法裡面的 name2變數賦值給前端html中的 name1變數 html模板 注意,這裡的name1變數是對應...