db51四川省地方规定
Laravel51 数据库--DB运行原生SQL
用DB门面操作的话呢 无非就是:insert、select、update、delete 另外附加一个statement(通用语句 比如drop之类的)。
insert方法接受两个参数 第一个参数呢 就是原生的SQL语句,第二个参数是一个数组 对应的sql语句中的?
$article->id
$article->title
$article->body
我们的占位符不仅仅是? 也可以用":name" 来表示,对应的数组就是一对儿一对儿的键值。
update方法还返回了一个affected 这是受到影响的总行数。
我们可以用 listen方法 监听每一次操作数据库动作,这样我们就可以用于 记录日志啊 调试啊什么的:
Laravel5.1 数据库--DB运行原生SQL
标签:查询 color 动作 通用 void 附加 决定 1.3 1.4
用DB门面操作的话呢 无非就是:insert、select、update、delete 另外附加一个statement(通用语句 比如drop之类的)。
insert方法接受两个参数 第一个参数呢 就是原生的SQL语句,第二个参数是一个数组 对应的sql语句中的?
$article->id
$article->title
$article->body
我们的占位符不仅仅是? 也可以用":name" 来表示,对应的数组就是一对儿一对儿的键值。
update方法还返回了一个affected 这是受到影响的总行数。
我们可以用 listen方法 监听每一次操作数据库动作,这样我们就可以用于 记录日志啊 调试啊什么的:
Laravel5.1 数据库--DB运行原生SQL
标签:查询 color 动作 通用 void 附加 决定 1.3 1.4
[ sql ] [ DB ] CONNECT:[ UseTime:0.000533s ] mysql:host=127.0.0.1;dbname=xun_php_cn;charset=utf8[ sql ] [ SQL ] INSERT INTO `op_task` (`name` , `times`) VALUES (‘f_7‘ , ‘2019-11-20 16:19:52‘) [ RunTime:0.001197s ][ sql ] [ SQL ] INSERT INTO `op_task` (`name` , `times`) VALUES (‘f_8‘ , ‘2019-11-20 16:19:52‘) [ RunTime:0.001186s ]
[ sql ] [ SQL ] INSERT INTO `op_task` (`name` , `times`) VALUES (‘f_9‘ , ‘2019-11-20 16:19:52‘) [ RunTime:0.001553s ]
并且 测试虚拟机 mysql连接数设置为 800
for ($i = 0; $i $tmp[‘name‘] = ‘f_‘.$i; $tmp[‘times‘] = date(‘Y-m-d H:i:s‘); db(‘task‘)->insert($tmp);}
如果插入数据是1000条 TP5.1就会报错 提示 too many connecntios 错误 ,TP5.0不会报错
并且换一种写法 TP5.1的时候会报错,
$ojb = db(‘task‘);
for ($i = 0; $i $tmp[‘name‘] = ‘f_‘.$i; $tmp[‘times‘] = date(‘Y-m-d H:i:s‘); $ojb->insert($tmp);}
TP5.0 这种写法就正常执行,并且效率提升很多 请看我前面的测试结果
https://www.cnblogs.com/fuyifan/p/11898241.html
以我粗浅的理解,是不是TP5.1越搞越回去了?
thinkphp5.0 与thinkphp5.1 db()函数的区别
标签:name span val 简单的 logs insert 函数 mys into