1 <?php 2 namespace app\index\controller; 3 4 use think\Controller; 5 use think\Db; 6 7 class Test extends Controller 8 { 9 10 public function index() 11 { 12 $name ="Hello word TP5"; 13 14 $this->assign('name',$name); 15 16 return $this->fetch(); 17 } 18 19 public function select() 20 { 21 //增 22 //$res = DB::name('lee_user')->insert(['uname'=>'lpc']); 23 $res = DB::execute("insert into lee_user(uname) values(:uname) ",['uname'=>'tp5']); 24 25 //刪 26 //$res = DB::name('lee_user')->delete(3);//括號裏默認是ID 27 //$res = DB::name('lee_user')->delete(['uname'=>5]);//這個就執行成功啦,刪除ID是5的 28 //$res = DB::name('lee_user')->delete('uname'=>2);//這就沒執行成功 29 30 //改 31 // $res = DB::query(" update lee_user set uname='23' where uid = 4"); 32 35 //查詢 36 // $data = DB::name('lee_user')->find();//這查單條的
// $data = DB::name('lee_user')->select();//這查的是數組
37 // $this->assign('data',$data); 38 //return $this->fetch('add');
//鏈式查法 39 $data = DB::name('lee_user')
->where('uname','tp5')
->field('uid,uname')
->limit('1')
->select();
$this->assign('data',$data);
return $this->fetch('index');
}
//測試事務
//試了半天沒效果,回頭一看數據庫這個表類型是MyISAM,不支持事務!
//因此首先肯定表支不支持事務
//該表類型命令: ALTER TABLE 代表 ENGINE=INNODB;
public function traction()
{
//TP5框架事務
// Db::transaction(function(){
// DB::name('lee_user')->delete(6);
// DB::name('lee_user')->insert(['uname'=>'tranction']);
// });
//手動控制事務提交
//啓動事務
Db::startTrans();
try{
Db::table('lee_user')->find(7);
Db::table('lee_user')->delete(8);
// 提交事務
Db::commit();
} catch (\Exception $e) {
// 回滾事務
Db::rollback();
}
} 40 }