对于Phpcms v9 进行二次开发,数据的操作是不可避免的,虽然数据操作方法能很明显的看出sql语句,但还是没有直接输出sql语句来的直接,遗憾的是系统并没有直接提供这样的方法,需要自己来构造。
1.修改数据库驱动
phpcms/libs/classes/mysql.class.php
添加以下代码:
private $lastquerysql = ''; public function lastsql() { return $this->lastquerysql; } //修改execute方法: $this->lastqueryid = mysql_query($sql, $this->link) or $this->halt(mysql_error(), $sql); $this->querycount++; $this->lastquerysql = $sql; //给新增的lastquerysql 赋值
execute 方法被修改为:
private function execute($sql) { $chestr = strtolower(trim($sql)); if(substr($chestr,0,6)=='select') { if(!is_resource($this->link)) { $this->connect('default'); } }else { $this->connect('write'); } $this->lastqueryid = mysql_query($sql, $this->link) or $this->halt(mysql_error(), $sql); $this->querycount++; $this->lastquerysql = $sql; //新增 return $this->lastqueryid; }
2.修改模型
phpcms/libs/classes/model.class.php
添加获取lastsql的方法
final public function lastsql(){ return $this->db->lastsql(); }
3.调用
使用自定义模型类查询完成之后,调用模型类的lastsql()方法即可,eg:
$db = pc_base::load_model('pcbanner_model'); $db->select(); $lastsql = $db->lastsql(); echo $lastsql;
相关推荐
log4j错误打印到控制台 并且输出sql语句
这是一个可以在控制台中输出sql语句的log4j的properties文件
在实际开发中,有时我们需要了解LINQ查询是如何转换为SQL语句的,以便于调试和优化性能。以下将详细介绍几种查看LINQ生成SQL语句的方法。 1. **Debug.WriteLine()** 在使用LINQ查询时,可以利用`Debug.WriteLine()...
它允许开发者使用面向对象的编程语言(如C#或VB.NET)来操作数据库,而无需直接编写SQL语句。"sql语句"则指传统的结构化查询语言,用于对关系型数据库进行数据操作。 描述中提到有两个项目,一个是通过EF实现的,另...
在Java的JDBC编程中,`PreparedStatement`是一个非常重要的接口,它用于预编译SQL语句,提高了数据库操作的效率和安全性。当我们处理大量重复的SQL操作时,使用`PreparedStatement`可以避免SQL注入等问题,同时提升...
标题中的"java控制台输出可执行sql"指出这是一个Java库,它的主要功能是能够在控制台上显示应用程序执行的SQL语句。这通常对于调试和优化数据库交互的代码非常有用,因为可以直观地看到程序如何与数据库进行通信。这...
SQL语句是数据库操作的核心,它用于查询、插入、更新和删除数据,是任何数据库管理系统中的基础工具。在IT行业中,编写SQL语句是一项必备技能,但手动编写和调试SQL语句可能会耗费大量时间和精力,尤其在处理复杂...
sql语句sql语句sql语句sql语句sql语句
本项目提供了一个Java源码工具,能够帮助用户便捷地将Oracle SQL语句转换为MySQL SQL语句。 Oracle SQL与MySQL SQL的主要差异在于以下几个方面: 1. **数据类型**:Oracle支持的数据类型如NUMBER、LONG、RAW等在...
"标签"进一步强调了这个工具的关键特性,包括"Java输出漂亮的SQL语句",这意味着它是一个Java环境下的解决方案,能够集成到Java项目中,通过Java代码来调用和实现SQL语句的格式化。另一个标签"SQL格式化"则明确了它...
sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明sql语句说明...
在动态 SQL 语句中,可以使用输入或输出参数来传递数据,例如: declare @QueryString nvarchar(1000) declare @paramstring nvarchar(200) declare @input_id int set @QueryString='select * from tablename ...
【标题】"mybatis查询入门(log4j控制台sql语句日记输出的)"涉及的知识点主要集中在MyBatis框架的基础使用以及如何通过Log4j在控制台输出SQL语句,以便于调试和优化数据库操作。MyBatis是一个轻量级的Java持久层框架...
"hibernate执行原生sql语句" Hibernate 是一种流行的 ORM(Object-Relational Mapping)框架,用于将 Java 对象映射到关系数据库中。然而,在一些情况下,我们需要直接执行原生 SQL 语句,而不是使用 Hibernate 的...
PB脚本中SQL语句写法与SQL中语句写法对照 PB脚本中SQL语句写法与SQL中语句写法对照是非常重要的知识点,因为PB脚本和SQL语言在写法和应用中有所不同。本文将对PB脚本中SQL语句写法和SQL中语句写法进行对比和分析。 ...
全面掌握SQL语句 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍 详细的SQL语句介绍
非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK 非常好用的SQL Server 抓取SQL语句工具HOOK
SQLTracker是一款专为数据库操作监控设计的工具,它在IT领域中主要用于跟踪和记录SQL语句的执行情况。SQL(Structured Query Language)是用于管理关系数据库的编程语言,包括查询、更新、插入和删除数据等操作。SQL...
### 完成超长SQL语句执行前拆分 #### 概述 在使用Visual Basic (简称VB)进行数据库操作时,可能会遇到因为SQL语句过长而导致无法正常执行的问题。这种情况下,即使该SQL语句可以在SQL Server的查询分析器中成功运行...
### 动态执行SQL语句在Oracle中的应用 #### 标题解读 “存储过程中怎么动态执行SQL语句”这一标题表明文章将介绍如何在Oracle数据库的存储过程中编写能够动态执行的SQL语句。动态SQL是指在运行时才能确定其具体内容...