请教大神thinkphp5 怎么打印sql语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教大神thinkphp5 怎么打印sql语句相关的知识,希望对你有一定的参考价值。
你好,一共有两种方法可以打印sql语句,具体实现方法可参照这篇文章:
Thinkphp5打印sql语句
[ SQL ] SHOW COLUMNS FROM `think_action` [ RunTime:0.001339s ][ EXPLAIN : array ( 'id' => '1', 'select_type' => 'SIMPLE', 'table' => 'think_action', 'partitions' => NULL, 'type' => 'ALL', 'possible_keys' => NULL, 'key' => NULL, 'key_len' => NULL, 'ref' => NULL, 'rows' => '82', 'filtered' => '100.00', 'extra' => NULL, ) ]
[ SQL ] SELECT * FROM `think_action` LIMIT 1 [ RunTime:0.000539s ] 参考技术A $User = M("User"); // 实例化User象
$User->find(1);
echo $User->getLastSql();
// 3.2版本使用简化
echo $User->_sql();
输结 SELECT * FROM think_user WHERE id = 1
并且每模型都使用独立SQL记录互干扰用空模型getLastSql获取全局SQL记录本回答被提问者采纳 参考技术B fetchsql(ture) 这个没有变化和tp3的一样
$list = db('user')->where($map)->fetchsql(true)->select();
var_dump($list);
thinkphp怎么打印sql语句
thinkphp的sql语句的应用:
[ SQL ] SHOW COLUMNS FROM `think_action` [ RunTime:0.001339s ]
[ EXPLAIN : array ( 'id' => '1', 'select_type' => 'SIMPLE', 'table' => 'think_action', 'partitions'
=> NULL, 'type' => 'ALL', 'possible_keys' => NULL, 'key' => NULL, 'key_len' => NULL, 'ref'
=> NULL, 'rows' => '82', 'filtered' => '100.00', 'extra' => NULL, ) ]
[ SQL ] SELECT * FROM `think_action` LIMIT 1 [ RunTime:0.000539s ]
扩展资料:
sql的应用原则:
在关系数据库实现过程中,第一步是建立关系模式,定义基本表的结构,即该关系模式是哪些属性组成的,每一属性的数据类型及数据可能的长度、是否允许为空值以及其它完整性约束条件。
定义基本表:
CREATE TABLE<表名>(<列名1><数据类型>[列级完整性约束条件]
[,<列名2><数据类型>[列级完整性约束条件]]…
[,<-列名n><数据类型>[列级完整性约束条件]]
[,表列级完整性约束条件]);
说明:
1、<>中是SQL语句必须定义的部分,[]中是SQL语句可选择的部分,可以省略的。
2、CREATE TABLE表示是SQL的关键字,指示本SQL语句的功能。
3、<表名>是所要定义的基本表的名称,一个表可以由一个或若干个属性(列)组成,但至少有一个属性,不允许一个属性都没有的表,这样不是空表的含义。多个属性定义由圆括号指示其边界,通过逗号把各个属性定义分隔开,各个属性名称互不相同,可以采用任意顺序排列,一般按照实体或联系定义属性的顺序排列,关键字属性组在最前面,这样容易区分,也防止遗漏定义的属性。
参考资料来源:百度百科-thinkphp
参考资料来源:百度百科-结构化查询语言
参考技术A $User = M("User"); // 实例化User对象$User->find(1);
echo $User->getLastSql();
// 3.2版本中可以使用简化的方法
echo $User->_sql();
输出结果是 SELECT * FROM think_user WHERE id = 1
并且每个模型都使用独立的最后SQL记录,互不干扰,但是可以用空模型的getLastSql方法获取全局的最后SQL记录。
$User = M("User"); // 实例化User模型$Info = M("Info"); // 实例化Info模型
$User->find(1);
$Info->find(2);
echo M()->getLastSql();
echo $User->getLastSql();
echo $Info->getLastSql();
输出结果是
SELECT * FROM think_info WHERE id = 2SELECT * FROM think_user WHERE id = 1
SELECT * FROM think_info WHERE id = 2本回答被提问者和网友采纳 参考技术B [ SQL ] SHOW COLUMNS FROM `think_action` [ RunTime:0.001339s ]
[ EXPLAIN : array ( 'id' => '1', 'select_type' => 'SIMPLE', 'table' => 'think_action', 'partitions' => NULL, 'type' => 'ALL', 'possible_keys' => NULL, 'key' => NULL, 'key_len' => NULL, 'ref' => NULL, 'rows' => '82', 'filtered' => '100.00', 'extra' => NULL, ) ]
[ SQL ] SELECT * FROM `think_action` LIMIT 1 [ RunTime:0.000539s ]
thinkphp如何打印sql语句?
参考技术C echo M("表名")->getlastsql();exit; 参考技术D 输出结果么? dump以上是关于请教大神thinkphp5 怎么打印sql语句的主要内容,如果未能解决你的问题,请参考以下文章