tp5 r3 一个简单的SQL语句调试实例
tp5 r3 一个简单的SQL语句调试实例
先看效果
核心代码
- public function index()
- {
- if (IS_AJAX && session("uid")==1){
- $sql=input("post.sql");
- $sql=base64_decode($sql);
- if ($sql){
- if (preg_match('/INSERT INTO|DELETE|UPDATE\s/i', $sql, $info)){
- $result=\think\Db::execute($sql);
- }
- else{
- $result=\think\Db::query($sql);
- }
- return dump($result);//json_encode($result)
- }else{
- return "错误的sql语句";
- }
- }
- //读取所有的表
- $tables=\think\Db::query('SHOW TABLES');
- $this->assign('tables',$tables);
- $database=\think\Config::get("database");
- $this->assign('tkey',"tables_in_".$database["database"]);
- return $this->fetch();
- }
前台
- {include file="Public:header" /}
- <div id="page-content" style="min-height: 395px;">
- <div class="row">
- <div class="col-md-6">
- <div class="block full">
- <div class="block-title"><h2>数据库命令</h2></div>
- <form id="form-sql" onsubmit="return!1" class="form-horizontal form-bordered" method="post" action="{:url('db/index?type=save')}">
- <div class="form-group">
- <div class="col-md-9 col-md-offset-3">
- <div class="col-xs-6">
- <select size="1" class="form-control" id="tables">
- {volist name="tables" id="vo"}
- <option value="{$vo[$tkey]}">{$vo[$tkey]}</option>
- {/volist}
- </select>
- </div>
- <div class="btn-group">
- <a class="btn btn-default dropdown-toggle" data-toggle="dropdown" href="javascript:void(0)" aria-expanded="false">快捷SQL语句<span class="caret"></span></a>
- <ul class="dropdown-menu text-left">
- <li class="dropdown-header"><i class="fa fa-user pull-right"></i><strong>select语句</strong></li>
- <li><a href="javascript:insert('SELECT * FROM `[table]` WHERE 1')">select</a></li>
- <li><a href="javascript:insert('INSERT INTO `[table]` VALUES ([value-1],[value-2],[value-3],[value-4],[value-5])')">insert</a></li>
- <li><a href="javascript:insert('UPDATE `[table]` SET `[]`=[value-2] WHERE 1')">update</a></li>
- <li><a href="javascript:insert('DELETE FROM `[table]` WHERE 1')">delete</a></li>
- <li class="divider"></li>
- </ul>
- </div>
- </div>
- </div>
- <div class="form-group">
- <label for="example-textarea-input" class="col-md-3 control-label">SQL命令语句</label>
- <div class="col-md-9">
- <textarea placeholder="SQL命令语句" class="form-control" rows="7" name="sql" id="sql"></textarea>
- </div>
- </div>
- <div class="form-group form-actions">
- <div class="col-md-9 col-md-offset-3">
- <button class="btn btn-effect-ripple btn-primary" id="form" type="button" style="overflow:hidden;position:relative">提交</button>
- <button class="btn btn-effect-ripple btn-danger" type="reset" style="overflow:hidden;position:relative">重置</button>
- </div>
- </div>
- </form>
- </div>
- </div>
- <div class="col-md-6">
- <div class="block full">
- <div class="block-title"><h2>输出结果</h2></div>
- <p id="result" style="#cccccc;"></p>
- </div>
- </div>
- </div>
- </div>
- {include file="Public:footer" /}
- <script src="__PUBLIC__/static/js/base64/base64.js"></script>
- <script>
- function insert($sql){
- if ($sql){
- var table=$("#tables").val();
- $("#sql").text($sql.replace("[table]", table));
- }
- }
- $("#form").click(function(){
- var sql=$("#sql").val();
- var url =$("#form-sql").attr("action");
- if (!sql){jError("SQL不能为空!!", {VerticalPosition: 'center',HorizontalPosition: 'center'});return;}
- sql=base64_encode(sql);
- $.ajax({
- url:url,
- data:{sql:sql},
- type:'post',
- cache:true,
- dataType:'html',
- success:function(data) {
- $("#result").html(data);
- },
- error : function() {
- $("#result").html('错误的SQL语句!<br/>'+$("#sql").val());
- jError("错误的SQL语句!", {VerticalPosition: 'center',HorizontalPosition: 'center'});
- }
- });
- })
- </script>
tp5 r3 一个简单的SQL语句调试实例的更多相关文章
- SQL点滴10—使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
原文:SQL点滴10-使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比 今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章 ...
- [20190328]简单探究sql语句相关mutexes.txt
[20190328]简单探究sql语句相关mutexes.txt --//摘要:http://www.askmaclean.com/archives/understanding-oracle-mute ...
- 四种简单的sql语句(增删改查语句)
四种简单的sql语句(增删改查语句) 一.插入语句 insert into [table] ([column],[column],[column]) values(?,?,?) 二.删除语句 dele ...
- 使用with语句来写一个稍微复杂sql语句,附加和子查询的性能对比
今天偶尔看到sql中也有with关键字,好歹也写了几年的sql语句,居然第一次接触,无知啊.看了一位博主的文章,自己添加了一些内容,做了简单的总结,这个语句还是第一次见到,学习了.我从简单到复杂地写, ...
- UI:简单的SQL语句
一.SQL语句如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句1.什么是SQLSQL(structured query language):结构化查询语言SQL是一种对关系型数据库中 ...
- 数据库学习之简单的SQL语句
1.数据库的结构 1.1数据库 不同数据库叫做Catalog(在有的 DBMS 中也称为 Database,即数据库) .採用多 Catalog 以后能够给我们带 来例如以下优点: 便于对各个 Cat ...
- 一些简单的SQL语句
简单的SQL入门 一,简介 1, 一个数据库包含一个或多个表,表包含带有数据的记录(行) 2, SQL对大小写不敏感,语句的分号看具体情况 二,语法 1, 数据操作语言:DML a) ...
- 简单的SQL语句
说明:SQL语句大小写都可以,执行一句时,后面可不加分号,如果同时执行两句,就必须加分号,不然会报错. --+空格 是SQL的注释 表格名为users,里面有name和age属性 一.增 inser ...
- JDBC之java数据库的连接与简单的sql语句执行
import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sq ...
随机推荐
- windows下面安装redis
一.下载windows版本的Redis 链接:https://pan.baidu.com/s/1i6X2klv 密码:j4pi 二.安装Redis 这里下载的是Redis-x64-3.2.100版本, ...
- SPAMS:稀疏建模工具箱
https://chunqiu.blog.ustc.edu.cn/?p=570 http://spams-devel.gforge.inria.fr/index.html 在一篇显著性检测文章:Sal ...
- c# partial使用
1.有2个类 class1.cs ,class2.cs 2.这2个类里面都可以定义成这样 public partial class ClassAll { } 3.结果,里面的方法都是共享的,就像 ...
- BZOJ1072 排列perm 【状压dp】
Description 给一个数字串s和正整数d, 统计s有多少种不同的排列能被d整除(可以有前导0).例如123434有90种排列能 被2整除,其中末位为2的有30种,末位为4的有60种. Inpu ...
- bzoj3173: [Tjoi2013]最长上升子序列(fhqtreap)
这题用fhqtreap可以在线. fhqtreap上维护以i结尾的最长上升子序列,数字按从小到大加入, 因为前面的数与新加入的数无关, 后面的数比新加入的数小, 所以新加入的数对原序列其他数的值没有影 ...
- CF1100E
i207M给的题 省选前-小题解合集 给定一张有向图,每条边有边权.你可以花费边权的代价反转一条边,使得原图中没有环.最小化反转的边权的最大值. 首先二分,然后考虑判定. 转化为有些边可以翻转,有些边 ...
- android adb devices 后出现offline问题的解决
Android在使用adb 命令时有时会发现设备的状态是offline,我的神呀,这怎么让我们调试呢.必须解决这个问题. 解决方式如下: 以下方法请确保你的设备处于调试模式下. 方法一:执行 #adb ...
- win7系统用笔记本共享wifi热点 让手机免费上网
之前一直在用这个方法把自己的笔记本变成一个wifi热点,让手机也可以直接连wifi上网,节省网费和路由器购买费. 其实就是开启了windows 7的隐藏功能:虚拟WiFi和SoftAP(即虚拟无线AP ...
- python 常用 time, datetime处理
python 中 time 有三种格式: float, struct tuple(time.struct_time 或 datetime.datetime), str 常用的: float --> ...
- PID控制算法的c语言实现十二 模糊PID的参数整定
这几天一直在考虑如何能够把这一节的内容说清楚,对于PID而言应用并没有多大难度,按照基本的算法设计思路和成熟的参数整定方法,就算是没有经过特殊训练和培训的人,也能够在较短的时间内容学会使用PID算法. ...