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); 
?>