JSQL , SQLProxy 的 php 版本代码
下面是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); ?>