PHP实现SQL语句格式化功能的方法 原创

本文实例讲述了PHP实现SQL语句格式化功能的方法。分享给大家供大家参考,具体如下:

一、问题:

要求使用php实现针对sql语句的格式化功能

二、解决方法:

这里使用github上的开源代码实现SQL格式化功能。

github下载地址:https://github.com/till/sql-formatter

或者点击此处本站下载

使用方法:

include包含SqlFormatter.php文件,针对sql语句使用format方法即可实现格式化功能。

具体代码如下:

<?php
include('SqlFormatter.php');
$sql="SELECT DATE_FORMAT(b.t_create, '%Y-%c-%d') dateID, b.title memo
  FROM (SELECT id FROM orc_scheme_detail d WHERE d.business=208
  AND d.type IN (29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a',
  29,30,31,321,33,34,3542,361,327,38,39,40,41,42,431,4422,415,4546,47,48,'a')
  AND d.title IS NOT NULL AND t_create >=
  DATE_FORMAT((DATE_SUB(NOW(),INTERVAL 1 DAY)),'%Y-%c-%d') AND t_create
  < DATE_FORMAT(NOW(), '%Y-%c-%d') ORDER BY d.id LIMIT 2,10) a,
  orc_scheme_detail b WHERE a.id = b.id";
echo SqlFormatter::format($sql);
?>

运行结果如下图所示:

PS:更多的用法还可参考源码中的examples.php示例

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mssql数据库程序设计技巧总结》、《PHP基于pdo操作数据库技巧总结》、《PHP+MongoDB数据库操作技巧大全》、《php面向对象程序设计入门教程》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

(0)

相关推荐

  • php mssql 分页SQL语句优化 持续影响

    复制代码 代码如下: <?php /** * @Filename :page.sql.class.php * @CreatTime :2009-01-06 * @Descrition :此类为SQL语句处理类. * @UpdateTime-1 :null * @Version :jswweb1.0.0 * @Author :fkedwgwy * @Dome : $sql//SQL语句 $allcount//总记录数 $pagesize//页面显示记录条数 $page//当前页 $sqlc= ne

  • PHP之Mysql常用SQL语句示例的深入分析

    1.插入数据insert into表名(列名1,列名2,列名..) values(值1,值2,值...); insert into product(name, price, pic_path) values('Nike',500,'uploads/3245.jpg'); 2.更新数据update 表名set列名1=值1,列名2=值2[where条件]; update product set name='LiNing', price=50where id=2; 3.删除数据deletefrom表名

  • PHP学习之SQL语句快速入门

    Select * from tablename SQL> select * from employees; Select select list from tablename SQL> select employee_id,first_name from employees; Select distinct - from tablename SQL> select distinct manager_id from employees; ||连接符使用以及 加减乘除以及括号的使用 SQL&

  • PHP 批量删除 sql语句

    首先要了解sql语句 $SQL="delete from `jb51` where id in (1,2,4)"; 表单大概是: 复制代码 代码如下: <form action="" method="post"> <input name="ID_Dele[]" type="checkbox" id="ID_Dele[]" value="1"/>

  • PHP+MySQL 手工注入语句大全 推荐

    暴字段长度 Order by num/* 匹配字段 and 1=1 union select 1,2,3,4,5--.n/* 暴字段位置 and 1=2 union select 1,2,3,4,5-..n/* 利用内置函数暴数据库信息 version() database() user() 不用猜解可用字段暴数据库信息(有些网站不适用): and 1=2 union all select version() /* and 1=2 union all select database() /* a

  • PHP格式化MYSQL返回float类型的方法

    本文实例讲述了PHP格式化MYSQL返回float类型的方法.分享给大家供大家参考,具体如下: PHP 中获取mysql的float字段,echo 输出后,小数部分为包含多个0. 可使用 floatval($num) 将0舍去. 如要保留小数位,可使用 number_format($num, 2); number_format函数对超过指定位数的值,进行了四舍五入. 如不想四舍五入,而保留所有小数.可使用如下方法: // 如仅想保留两位小数可用 number_format($num, 2); e

  • PHP+Mysql实现多关键字与多字段生成SQL语句的函数

    本文实例讲述了PHP+Mysql实现多关键字与多字段生成SQL语句的函数的方法.分享给大家供大家参考.具体实现方法如下: 先看实例: 复制代码 代码如下: $keyword="1 2 3"; echo $sql=search($keyword,"enter_gongyin_pic","a+b+c"); //函数生成,没有LIMIT,没有ORDER BY 生成: 复制代码 代码如下: SELECT * FROM `enter_gongyin_pic

  • PHP执行批量mysql语句的解决方法

    当有多条mysql语句连起来需要执行,比如 $sqls= "insert table a values(1,2); insert table a values(2,3);" 需要执行的话php中可以使用的方法有三个: mysql_query pdo mysqli 三种方法当sqls语句没有问题的时候都是可以的. 但是 当sql语句是错误的时候会出现问题第一条sql错误:三个方法都返回false 第一条sql正确,第二条sql错误:mysql_query.pdo. mysqli:quer

  • php mssql 数据库分页SQL语句

    我们在编写MIS系统和Web应用程序等系统时,都涉及到与数据库的交互,如果数据库中数据量很大的话,一次检索所有的记录,会占用系统很大的资源,因此我们常常采用,需要多少数据就只从数据库中取多少条记录,即采用分页语句.根据自己使用过的内容,把常见数据库Sql Server,Oracle和MySQL的分页语句,从数据库表中的第M条数据开始取N条记录的语句总结如下: SQL Server 从数据库表中的第M条记录开始取N条记录,利用Top关键字:注意如果Select语句中既有top,又有order by

  • php执行sql语句的写法

    复制代码 代码如下: <?php @mysql_connect("localhost", "root","1981427") //选择数据库之前需要先连接数据库服务器 or die("数据库服务器连接失败"); @mysql_select_db("test") //选择数据库mydb or die("数据库不存在或不可用"); $query = @mysql_query("

  • PHP mysqli 增强 批量执行sql 语句的实现代码

    mysqli 增强-批量执行sql 语句 复制代码 代码如下: <?php //mysqli 增强-批量执行sql 语句 //批量执行dql    //使用mysqli的mysqli::multi_query() 一次性添加3个用户 $mysqli =new MySQLi("localhost","root","root","test");    if($mysqli->connect_error){       

  • PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)

    写过PHP+MySQL的程序员都知道有时间差,UNIX时间戳和格式化日期是我们常打交道的两个时间表示形式,Unix时间戳存储.处理方便,但是不直观,格式化日期直观,但是处理起来不如Unix时间戳那么自如,所以有的时候需要互相转换,下面给出互相转换的几种转换方式. 一.在MySQL中完成 这种方式在MySQL查询语句中转换,优点是不占用PHP解析器的解析时间,速度快,缺点是只能用在数据库查询中,有局限性. 1. UNIX时间戳转换为日期用函数: FROM_UNIXTIME() 一般形式:selec

随机推荐