睢闫网络为您打造全面营销系统,营销网络建设第一品牌!
验证码: 看不清?点击更换
注册
签到 网页翻译为英文
1823-8012-605

营销型网络系统 顶级核心团队

让传统企业获得更多的订单和询盘!

您现在所在的位置:主页 > 新闻中心

易安卓mssql中间件设计

时间:2016-01-25 14:48    来源:睢闫网络传媒   访问人数:  业务咨询    在线下单
服务器段文件:mslisa.php
<?php
//这是甲午军校版MSSQL中间件
//V0.2
//传入参数: FWQ=192.168.0.100&USER=sa&PW=&DB=wsdwd&CMD=CX&SQL=base64sql
//反回值定义:    大端用":",中端用";",小段用",",字段采用base64编码格式
//2014-09-25  V0.2
//增加 了对日期格式的处理
//支持CMD的命令行了:
//CX/查询--表示查询数据记录,BT/取表头--表示取表头信息
//ZX/执行--执行一个SQL语句
//PC/批量
//2014-09-25 20:25
//V0.3  增加测试功能!CS/测试
$FWQ=htmlspecialchars($_POST['FWQ']);
if ($FWQ==NULL)
{
die("");
}
$USER=htmlspecialchars($_POST['USER']);
$PW=htmlspecialchars($_POST['PW']);
$PW= base64_decode($PW);
$DB=htmlspecialchars($_POST['DB']);
$CMD=htmlspecialchars($_POST['CMD']);
$SQL=htmlspecialchars($_POST['SQL']);
$SQL=base64_decode($SQL);
$ReMax='';
$handle = fopen('mslisa.txt', 'a');
fwrite($handle, $SQL);
fclose($handle);
$link = mssql_connect($FWQ,$USER,$PW);
if (!$link){
$ReMax='NO:数据库未连接成功';// iconv("utf-8","gb2312//IGNORE",$content);
$ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
die($ReMax);
}
mssql_select_db($DB, $link);
//CS/测试
if ($CMD=='CS' or $CMD=='测试')
{
$ReMax='OK:数据库连接成功'; 
mssql_close($link);
$ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
die($ReMax);
}
if ($CMD=='BT' or $CMD=='取表头')  //取表头格式命令,返回格或: OK:字段数:[字段名1,字段类型1,字段长度1];[字段名2,字段类型2,字段长度2];....
{
$query=mssql_query($SQL,$link);
if (!$query) {
  $ReMax='NO:MSSQL发生致命错误: ' . mssql_get_last_message();
     mssql_close($link);
  $ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
        die($ReMax); }
$ReMax='OK:';
$FieldsNum=mssql_num_fields($query); //字段数量
$ReMax=$ReMax.$FieldsNum.':';
$field=array();
for ($k=0;$k <$FieldsNum ; ++$k){
  $field[$k]= mssql_fetch_field($query, $k);
  $ReMax=$ReMax.$field[$k]->name.','.$field[$k]->type.','.$field[$k]->max_length;
  if ($k<>$FieldsNum-1) $ReMax=$ReMax.';';
  }
mssql_free_result($query);
mssql_close($link);
die($ReMax);
}
if ($CMD=='CX' or $CMD=='查询')  //进行查询并返回结果,返回格式如下:  OK:记录数:记录串1;记录串2;....      记录串格式: B64格式字段1,B64格式字段2,...
{
$query=mssql_query($SQL,$link);
if (!$query) {
  $ReMax='NO:MSSQL发生致命错误: ' . mssql_get_last_message();
     mssql_close($link);
  $ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
        die($ReMax); }
$ReMax='OK:';
$FieldsNum=mssql_num_fields($query); //字段数量
$field=array();
for ($k=0;$k <$FieldsNum ; ++$k){$field[$k]= mssql_fetch_field($query, $k);}
$RowsNum=mssql_num_rows($query);     //记灵的数量
$ReMax=$ReMax.$RowsNum.':';
$txt='';
for ($i=0; $i<$RowsNum;++$i){
  $row=mssql_fetch_row($query);
  for ($j = 0; $j <$FieldsNum ; ++$j) {
   $a=base64_encode($row[$j]);
   if ($field[$j]->type=='datetime'){
    $a=substr($row[$j],6,4).'-'.substr($row[$j],3,2).'-'.substr($row[$j],0,2).substr($row[$j],10);
    $a=date('Y-m-d H:i:s',strtotime($a));
    $a=base64_encode($a);}
   $txt=$txt.$a;
   if ($j<>$FieldsNum-1){$txt=$txt.',';}
   }
  if ($i<>$RowsNum-1){$txt=$txt.';';}
  }
$ReMax=$ReMax.$txt;
mssql_free_result($query);
mssql_close($link);
die($ReMax);
}
if ($CMD=='ZX' or $CMD=='执行')
{
$query=mssql_query($SQL,$link);
if (!$query) {
  $ReMax='NO:MSSQL发生致命错误: ' . mssql_get_last_message();
     mssql_close($link);
  $ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
        die($ReMax); }
$rows = mssql_rows_affected($link);
$ReMax='OK:'.$rows;
mssql_free_result($query);
mssql_close($link);
die($ReMax);
}
if ($CMD=='PC' or $CMD=='批量查询')
{
$query=mssql_query($SQL,$link);
if (!$query) {
  $ReMax='NO:MSSQL发生致命错误: ' . mssql_get_last_message();
     mssql_close($link);
  $ReMax=iconv("UTF-8","GB2312//IGNORE",$ReMax);
        die($ReMax); }
$ReMax='OK:';
$txt='';
do {
  while ($row = mssql_fetch_row($query)) {
   for ($j = 0; $j <mssql_num_rows($query) ; ++$j) {
    $a=base64_encode($row[$j]);
    $txt=$txt.$a;
    if ($j<>mssql_num_rows($query)-1){$txt=$txt.',';}}
   if ($i<>$RowsNum-1){$txt=$txt.';';}
     }
  $txt=$txt.':';
} while (mssql_next_result($query));
$ReMax=$ReMax.$txt;
mssql_free_result($query);
mssql_close($link);
die($ReMax);
}
?>

E4A段解码程序:
函数 Lisa查询(SQL 为 文本型,传址 记录数 为 整数型,传址 字段数 为 整数型,传址 字段集合 为 文本型) 为 逻辑型
变量 查询串 为 文本型
变量 命令 为  文本型
变量 SQL语句 为 文本型
变量 文本组 为 文本型()     'OK:记录数:B64字段1,B64字段2,B64字段3,...;B64字段1,B64字段2,B64字段3,...;
变量 通用文本 为 文本型
Lisa查询=假
命令="CMD=CX&SQL="
SQL语句=BASE64编码(文本到字节(SQL,"gb2312"))
查询串=发送网络数据(中间件,连接串&命令&SQL语句,"gb2312",10000)
如果 查询串="" 则
  退出 函数
结束 如果
  如果 寻找文本(查询串,":",0)=-1 则  
  退出 函数 
结束 如果
文本组=分割文本(查询串,":")
如果 取数组成员数(文本组)<>3 则
  退出 函数
结束 如果
如果 文本组(0)<>"OK" 则
  退出 函数
结束 如果
通用文本=文本组(2)
字段集合=通用文本
如果 通用文本="" 则
  退出 函数
结束 如果
'1.提取记录集
如果 寻找文本(通用文本,";",0)=-1 则
   记录数=1 
否则
      文本组=分割文本(通用文本,";")  '分号是记录的
   记录数=取数组成员数(文本组) 
   通用文本=文本组(0)
结束 如果
'2.提取字段集
如果 寻找文本(通用文本,",",0)=-1 则 
   字段数=1
否则
      文本组=分割文本(通用文本,",")
   字段数=取数组成员数(文本组)
结束 如果
'3.
字段集合=子文本替换(字段集合,";",",")
Lisa查询=真
结束 函数
函数  Lisa字段(字段集合 为 文本型,字段数 为 整数型,记录号 为 整数型,字段号 为 整数型) 为 字节型()
变量 总字段数 为 整数型
变量 总序号 为 整数型
变量 字段组 为  文本型()
  如果 寻找文本(字段集合,",",0)=-1 则
      总字段数=1
否则
      字段组=分割文本(字段集合,",")
   总字段数=取数组成员数(字段组)
结束 如果 
总序号=字段数*记录号+字段号
如果 总字段数<总序号+1 则
  Lisa字段=空
  退出 函数
结束 如果
如果 (总序号=0) 且 (总字段数=1) 则
   Lisa字段=BASE64解码(字段集合)
否则
      Lisa字段=BASE64解码(字段组(总序号))
结束 如果
结束 函数

连接串的格式如下:

连接串="FWQ="&配置节(1)&"&USER="&配置节(2)&"&PW="&BASE64编码(文本到字节(配置节(3),"gb2312"))&"&DB="&配置节(4)&"&"
下载此文章
联系方式

中国 · 睢县 · 建设路天湖城1005号

公司: 睢闫网络传媒有限公司

电话:1823-8012-605

邮箱:732541231@qq.com

QQ在线咨询

商务服务或业务咨询请点击以下QQ头像

网站建设-点击洽谈

数据库系统-点击洽谈

其他项目-点击洽谈

至电顾问需求或技术支持

需要做项目或需要技术支持业务请来电,谢谢!

18238012605 -郑经理

18336092044 -李经理

18671257743 -艾经理

告诉我们您的需求

在线填写需求,我们将尽快为您答疑解惑。

业务咨询QQ:732541231

售后服务QQ:732541231

电话:1823-8012-605

工作时间 9:00 ~ 18:00

工作日(周一至周五)

我们将在1个小时内回复,资料会保密处理。