JSQL SQLProxy 的 php 版本代码

代码如下:

<?php
date_default_timezone_set("PRC");
$host = stripslashes($_POST['host']);
if($host == null) { $host = 'localhost'; };
$user = stripslashes($_POST['user']);
if($user == null) { $user = 'root'; };
$password = stripslashes($_POST['password']);
if($password == null) { $password = ''; };
$database = stripslashes($_POST['database']);
if($database == null) { die('DataBase Name Needed!'); };
$SQL = stripslashes($_POST['SQL']);
if($SQL == null) { die('SQL Needed!'); };
$db = mysql_connect($host, $user, $password);
mysql_select_db($database,$db);
if(preg_match('/\s*select/i',$SQL)) {
$result = mysql_query($SQL,$db);
$rowcount = mysql_num_rows($result);
if($rowcount<1){
printf("null");
}
else
{
$fieldsarr = array();
while ($field = mysql_fetch_field($result)) {
$fieldsarr[] = $field;
};
printf("[");
$rowindex = 0;
while ($row = mysql_fetch_row($result)) {
$rowindex++ ;
printf("{");
$fieldcount = count($fieldsarr);
for($i=0;$i<$fieldcount;$i++) {
$fieldname = $fieldsarr[$i]->name;
$fieldtype = $fieldsarr[$i]->type;
$fieldvalue = $row[$i];
if($fieldvalue==null) {
$fieldvalue = "null";
}
else if($fieldtype=='string'){
$fieldvalue = "'$fieldvalue'";
}
else if($fieldtype=='datetime'){
$fieldvalue = str_replace("-","/",$fieldvalue);
$fieldvalue = "new Date('$fieldvalue')";
}
printf("%s : %s ", $fieldname, $fieldvalue);
//printf($fieldtype);
if($i<$fieldcount-1) {
printf(" , ");
};
};
printf("}");
if($rowindex<$rowcount) {
printf(" , ");
};
};
printf("]");
};
mysql_free_result($result);

}
else if(preg_match('/\s*insert/i',$SQL)) {
mysql_query($SQL,$db);
$effectrows = mysql_affected_rows();
if($effectrows==1) {
printf("true");
} else {
printf("false");
};
}
else if(preg_match('/\s*update/i',$SQL)) {
mysql_query($SQL,$db);
$effectrows = mysql_affected_rows();
printf($effectrows);
}
else if(preg_match('/\s*delete/i',$SQL)) {
mysql_query($SQL,$db);
$effectrows = mysql_affected_rows();
printf($effectrows);
}
else if(preg_match('/\s*create\s+table/i',$SQL)) {
if(mysql_query($SQL,$db)) {
printf("true");
} else {
printf("false");
};
}
else if(preg_match('/\s*drop\s+table/i',$SQL)) {
if(mysql_query($SQL,$db)) {
printf("true");
} else {
printf("false");
};
}
else {
printf("command not supported yet!");
};
mysql_close($db);
?>

(0)

相关推荐

  • JSQL SQLProxy 的 php 版本代码

    复制代码 代码如下: <?php date_default_timezone_set("PRC"); $host = stripslashes($_POST['host']); if($host == null) { $host = 'localhost'; }; $user = stripslashes($_POST['user']); if($user == null) { $user = 'root'; }; $password = stripslashes($_POST[

  • TensorFlow低版本代码自动升级为1.0版本

    Reference: https://www.tensorflow.org/install/migration tensorflow 更新到1.0之后,0.n版本不兼容,除了手动更改代码之外,tensorflow官方还提供了自动更新的脚本. 下载链接:https://github.com/tensorflow/tensorflow/tree/master/tensorflow/tools/compatibility 使用方法: 更新一个文件: 原本代码为foo.py, 使用tf_upgrade.

  • php calender(日历)二个版本代码示例(解决2038问题)

    注意32位机有2038问题,所以32位服务器的年限范围1970年~2038年 我们还可以使用DateTime来规避这个问题(这样与32位64位无关了) 复制代码 代码如下: <?php/** *  * 我的日历 * date_default_timezone_set date mktime * @param int $year * @param int $month * @param string $timezone * @author fc_lamp * @blog: fc-lamp.blog

  • javascript判断ie浏览器6/7版本加载不同样式表的实现代码

    关键点:1.对浏览器版本的判断:2.修改样式表路径 其中第二点也常用在实时修改网页模板.论坛风格的场合,实际上就是修改样式表路径来加载不同的样式表. 代码: 复制代码 代码如下: <script type="text/javascript"> var browser=navigator.appName var b_version=navigator.appVersion var version=b_version.split(";"); try{ //代

  • JSQL 一个 web DB 的封装

    接上文说道的JSQL 4.当然随着HTML5的普及,web DB 已经是大势所趋了 所以,JSQL封装到: 复制代码 代码如下: _CLIENTDATABASE_ = 'HotelManage'; _CLIENTDBVERSION_ = '0.1'; _CLIENTDBDESC_ = "First Client DataBase"; _CLIENTDBSIZE_ = 10240; JSQL("create table sqllite(id int)").OnClie

  • JavaScript 高效运行代码分析

    作者 Mark 'Tarquin' Wilton-Jones · 2006年11月2日 本文翻译自 Efficient JavaScript 原译文地址 http://kb.operachina.com/node/207 传统上,网页中不会有大量的脚本,至少脚本很少会影响网页的性能.但随着网页越来越像 Web 应用程序,脚本的效率对网页性能影响越来越大.而且使用 Web 技术开发的应用程序现在越来越多,因此提高脚本的性能变得很重要. 对于桌面应用程序,通常使用编译器将源代码转换为二进制程序.编译

  • 使用IntelliJ IDEA 进行代码对比的方法(两种方法)

    Sometimes,我们会有这样的需求,即:想对比出两个不同版本代码的区别.如何实现? 第 1 种:如果我们是从 SVN 检出的项目,并且想比较本地代码与从 SVN 检出时的代码相比都有那些区别,可以按如下步骤操作, 如上图所示,在代码编辑区,右键唤出功能菜单,然后选择Subversion,进而会展示出更多的可选项,例如: Compare with the Same Repository Version,与 SVN 仓库相同版本做对比: Compare with Latest Repositor

  • golang如何实现mapreduce单进程版本详解

    前言   MapReduce作为hadoop的编程框架,是工程师最常接触的部分,也是除去了网络环境和集群配 置之外对整个Job执行效率影响很大的部分,所以很有必要深入了解整个过程.元旦放假的第一天,在家没事干,用golang实现了一下mapreduce的单进程版本,github地址.处理对大文件统计最高频的10个单词,因为功能比较简单,所以设计没有解耦合.   本文先对mapreduce大体概念进行介绍,然后结合代码介绍一下,如果接下来几天有空,我会实现一下分布式高可用的mapreduce版本.

  • Java实现高效随机数算法的示例代码

    前言 事情起源于一位网友分享了一个有趣的面试题: 生成由六位数字组成的ID,要求随机数字,不排重,不可自增,且数字不重复.ID总数为几十万. 初次解答 我一开始想到的办法是 生成一个足够大的ID池(其实就是需要多少就生成多少) 对ID池中的数字进行随机排序 依次消费ID池中的数字 可惜这个方法十分浪费空间,且性能很差. 初遇梅森旋转算法 后面咨询了网友后得知了一个高效的随机数算法:梅森旋转(Mersenne Twister/MT).通过搜索资料得知: 梅森旋转算法(Mersenne twiste

  • golang环形队列实现代码示例

    Summary 什么是环形队列 实现环形队列图示过程 golang版本代码实现过程 参考全部代码 什么是环形队列 在一个指定大小的数组里循环写入数据,借用二个指针分别实现入队标记与出队标记.也体现了指针的大好用处,请深入体会.大有裨益. 如图所示,一个环形队列.含有二个指针: 队列头指针,队列尾指针. 实现环形队列图示过程 初始化一个数组大小为6的环形队列, 头指针front=0, 尾指针rear=0, 刚好front=rear =0的状态,表示环形队列为空. 2.向环形队列里插入1个元素,则r

随机推荐