legend---十一、thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里
一、总结
一句话总结:执行的条件其实不一样
if_else方式是两个都要影响了数据库才能执行
try_catch方式是只要不发生异常就执行。
比如数据表中有id为12345的字段
比如说我们现在删除id为5和6的字段
在if_else中就是rollback,
在try_catch中就是commit
1、如何修改页面的统一字体和颜色?
这里是用的是通配符,而不是直接修改html标签,
虽然样式可以继承,但是感觉通配符的效果要好很多,
1 *{2 margin: 0px;3 padding: 0px;4 font-family: STZhongsong;5 color: #666;6 }
2、jquery如何阻止元素冒泡(操作还是异常简单的)?
1
3、thinkphp中这样链接http://www.legend.com/index.php/index/battle/blogcategory/bc_id/1/type/advance_sequence.html传过来的值可以用input('get.')接收么?
产生这样链接的源代码为:
1 最少
$dataIn=input('get.');//空数组 $bc_id=input('bc_id');//可以正常接收到值
因为这种传值方式显然不是get的标准传值方式,倒是有点像路由的参数
4、mysql中修改表的Auto Increment(自增的那个字段)在哪里?
design table-> Options
里面既有修改引擎Engine
也有修改自增字段Auto Increment
5、mysql显示东西用的是哪个英文单词(比如显示各个数据库引擎的详情)?
用的show;
show engines;
6、thinkphp中事务如何操作(比如如何开启)?
开启事务:直接用的Db的startTrans();--Db::startTrans();
使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。
使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如:
自动控制事务处理
Db::transaction(function(){ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); });
也可以手动控制事务,例如:
// 启动事务Db::startTrans(); try{ Db::table('think_user')->find(1); Db::table('think_user')->delete(1); // 提交事务 Db::commit(); } catch (\Exception $e) { // 回滚事务 Db::rollback(); }
注意在事务操作的时候,确保你的数据库连接是相同的。
7、thinkphp事务中if($ans1&&$ans2){}else{}方式和try{}catch{}方式事务操作的区别在哪里?
if_else方式是两个都要影响了数据库才能执行
try_catch方式是只要不发生异常就执行。
比如数据表中有id为12345的字段
比如说我们现在删除id为5和6的字段
在if_else中就是rollback,
在try_catch中就是commit
1 //19、测试事务操作 2 public function test18(){ 3 Db::startTrans(); 4 $ans1=db('myself_goods')->delete(6); 5 $ans2=db('myself_goods')->delete(5); 6 if($ans1&&$ans2){ 7 // 提交事务 8 dump('commit'); 9 Db::commit();10 }else{11 // 回滚事务12 Db::rollback();13 dump('rollback');14 }15 }16 17 //18、测试事务操作18 public function test17(){19 // 启动事务20 Db::startTrans();21 try{22 $ans1=db('myself_goods')->delete(6);23 $ans2=db('myself_goods')->delete(7);24 dump('$ans1: '.$ans1);25 dump('$ans2: '.$ans2);26 // 提交事务27 dump('commit');28 Db::commit();29 } catch (\Exception $e) {30 // 回滚事务31 Db::rollback();32 dump('rollback');33 }34 }
8、js如何实现页面刷新?
location.reload();
9、php如何取一个数组的前几个?
array_slice — 从数组中取出一段
array array_slice ( array $array
, int $offset
[, int $length
= NULL
[, bool $preserve_keys
= false ]] )
array_slice() 返回根据 offset
和 length
参数所指定的 array
数组中的一段序列。
Example #1 array_slice() 例子
<?php$input = array("a", "b", "c", "d", "e");$output = array_slice($input, 2); // returns "c", "d", and "e"$output = array_slice($input, -2, 1); // returns "d"$output = array_slice($input, 0, 3); // returns "a", "b", and "c"// note the differences in the array keysprint_r(array_slice($input, 2, -1));print_r(array_slice($input, 2, -1, true));?>
以上例程会输出:
Array( [0] => c [1] => d)Array( [2] => c [3] => d)
10、如何将一大段html代码写到js中?
一行一行对应加的形式
1 2 3 4 5 6 7 8 9 10 | var html = '<div id="dialog" > ' + '<div>' + '<div >11111111</div>' + '<form action="welcome.php" method="post">' + '账号: <input type="text" name="order_fee" >' + '密码: <input type="text" name="order_sn" >' + '<input type="submit" value="提交" onclick="closeBg();" />' + '</form> ' + '</div>' + '</div>' |
这样拼接就好了啊,调用的时候:
document.body.innerHTML = html;
二、内容在总结中