JSQL SQLProxy 的 php 版本代码
更新时间:2010年05月05日 00:08:16 作者:
下面是JSQL.OnServer() 用到的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);
?>
相关文章
浅谈js中Object.create()与new的具体实现与区别
本文主要介绍了js中Object.create()与new的具体实现与区别,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2022-03-03
一文搞懂JSON(JavaScript Object Notation)
Json 有两种基本的结构,即 Json对象 和 Json 数组。通过 Json 对象和 Json 数组这两种结构的组合可以表示各种复杂的结构,今天通过本文给大家介绍JavaScript Object Notation的基本知识,感兴趣的朋友一起看看吧2021-10-10


最新评论