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);
?>
相關(guān)文章
淺談js中Object.create()與new的具體實現(xiàn)與區(qū)別
本文主要介紹了js中Object.create()與new的具體實現(xiàn)與區(qū)別,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-03-03
JavaScript中顏色模型的基礎(chǔ)知識與應(yīng)用詳解
顏色模型,是用來表示顏色的數(shù)學模型。比如最常見的?RGB模型,使用?紅綠藍?三色來表示顏色。本文就來和大家講講JavaScript中顏色模型的基礎(chǔ)知識與應(yīng)用吧2023-02-02
淺談JS繼承_借用構(gòu)造函數(shù) & 組合式繼承
下面小編就為大家?guī)硪黄獪\談JS繼承_借用構(gòu)造函數(shù) & 組合式繼承。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
一文搞懂JSON(JavaScript Object Notation)
Json 有兩種基本的結(jié)構(gòu),即 Json對象 和 Json 數(shù)組。通過 Json 對象和 Json 數(shù)組這兩種結(jié)構(gòu)的組合可以表示各種復雜的結(jié)構(gòu),今天通過本文給大家介紹JavaScript Object Notation的基本知識,感興趣的朋友一起看看吧2021-10-10

