一般插入一條數(shù)據(jù)都會返回這條數(shù)據(jù)的id的,你可以直接定義個變量來存儲就行了
創(chuàng)新互聯(lián)是一家企業(yè)級云計算解決方案提供商,超15年IDC數(shù)據(jù)中心運營經(jīng)驗。主營GPU顯卡服務(wù)器,站群服務(wù)器,電信內(nèi)江機房,海外高防服務(wù)器,成都機柜租用,動態(tài)撥號VPS,海外云手機,海外云服務(wù)器,海外服務(wù)器租用托管等。
$map 是數(shù)組
$id = D('User')-add($map);
這個$id 就是這條數(shù)據(jù)插入的id
怎么在thinkphp添加數(shù)據(jù)時獲取自動增長的id?
下面是TP5的方法,TP3的在添加后變量直接就獲取了。添加數(shù)據(jù)后如果需要返回新增數(shù)據(jù)的自增主鍵,可以使用 getLastInsID 方法:
Db::name('user')-insert($data);
$userId = Db::name('user')-getLastInsID();或者直接使用 insertGetId 方法新增數(shù)據(jù)并返回主鍵值:
Db::name('user')-insertGetId($data);
ThinkPHP
ThinkPHP是一個免費開源的,快速、簡單的面向?qū)ο蟮妮p量級PHP 開發(fā)框架,遵循?Apache2 開源協(xié)議發(fā)布,是為了簡化企業(yè)級應(yīng)用開發(fā)和敏捷WEB應(yīng)用開發(fā)而誕生的。
基本特性
簡單易用的MVC模式 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??
模型(M):模型的定義由Model類來完成。Model類位于項目目錄下面的LibModel目錄。
控制器(C):應(yīng)用控制器(核心控制器)和Action控制器都承擔了控制器的角色,區(qū)別在于Action控制器完成業(yè)務(wù)過程,而應(yīng)用控制器(App類)負責調(diào)度控制。Action控制器位于項目目錄下面的LibAction目錄。
視圖(V):模板的實現(xiàn)是和框架無關(guān)的,做到了100%分離,可以獨立預(yù)覽和制作。模板目錄位于項目目錄下面的Tpl目錄。
2.獨創(chuàng)的核心編譯和二分法項目編譯機制
ThinkTemplate是一個使用了XML標簽庫技術(shù)的編譯型模板引擎,支持兩種類型的模板標簽,使用了動態(tài)編譯和緩存技術(shù),而且支持自定義標簽庫。
你直接執(zhí)行這么多條插入語句,那么這個函數(shù)是只能返回一個值,不過如果你換一個思路就可以了。
你可以把四個sql拆開,用for或者foreach循環(huán)插入數(shù)據(jù)庫,那么每一次返回的id就是你想要的結(jié)果了。
參考例子:
$arr = array(array('10','1','張三'),array('11','1','李四'));
$arr_id = array();
foreach($arr as $k=$v)
{
$sql = 'insert into 表名('年齡','性別','姓名') values('$v[0]','$v[1]','$v[2]')';
mysql_query($sql);
$arr_id[] = msyql_insert_id();//將每次返回的id保存進數(shù)組
}
大致是這樣的想法,代碼不保證對,只是思路。