当前位置: 首页 > news >正文

微信制作网站设计旅游网站开发文献综述

微信制作网站设计,旅游网站开发文献综述,seo优化工具推荐,合肥网页设计班在搞公司的SQL查询(MySQL)平台时#xff0c;需要对用户查询SQL进行条数限制#xff0c;默认是在配置文件中配置一个“limit 1000”这样的参数。最自然想到的就是对用户通过web传入的SQL做处理#xff0c;默认加上limit参数。这样一来就有这么几个问题需要处理#xff1a;1…在搞公司的SQL查询(MySQL)平台时需要对用户查询SQL进行条数限制默认是在配置文件中配置一个“limit 1000”这样的参数。最自然想到的就是对用户通过web传入的SQL做处理默认加上limit参数。这样一来就有这么几个问题需要处理1. 如果用户自己传入了limit 10这样的条件怎么办2. 如果用户自己传入了limit 10,2这样的条件怎么办3. 如果用户的查询比较复杂有多个子查询并带有limit怎么办4. 如果用户查询字段有limit(不加“时的SQL会报语法错误)、及表名有limit这样的关键字怎么办测试通过代码如下提供一个处理函数import jsonimport redef replace_limit(sql, limit):依次查找并处理limit offset然后把limit关键字替换为special_flag全部处理完后再把special_flag替换回limit:param sql::param limit::return:special_flag -*-*-def fun(new_sql)::return: sqlupper_sql new_sql.upper()start_index upper_sql.find( LIMIT ) len( LIMIT )end_index start_indexfor i in range(start_index, len(upper_sql)):if bool(re.match(r^[0-9]|,| , upper_sql[i])):end_index 1else:breaklimit_str upper_sql[start_index:end_index].strip()# 输入limit值大于默认limit值就进行替换成默认limit值if , in limit_str:offsets limit_str.split(,)if int(offsets[-1]) limit:limit_str {}, {}.format(offsets[0], limit)else:if int(limit_str) limit:limit_str {}.format(limit)limit_str limit_str new_sql new_sql.replace(new_sql[start_index:end_index], limit_str, 1)new_sql new_sql.replace(new_sql[start_index - len( LIMIT ):start_index], special_flag, 1)return new_sql# 原sql没有limit则在最后加上limit并returnif re.search(rlimit\s.*\d.*, sql, re.IGNORECASE) is None:sql sql.rstrip(;) limit %s % int(limit) ;return sql# 分析limit语句for i in re.findall( limit , sql, re.IGNORECASE):sql fun(sql)# 替换回limit关键字sql sql.replace(special_flag, limit )return sql12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061importjsonimportredefreplace_limit(sql,limit):依次查找并处理limitoffset然后把limit关键字替换为special_flag全部处理完后再把special_flag替换回limit:paramsql::paramlimit::return:special_flag-*-*-deffun(new_sql)::return:sqlupper_sqlnew_sql.upper()start_indexupper_sql.find( LIMIT )len( LIMIT )end_indexstart_indexforiinrange(start_index,len(upper_sql)):ifbool(re.match(r^[0-9]|,| ,upper_sql[i])):end_index1else:breaklimit_strupper_sql[start_index:end_index].strip()# 输入limit值大于默认limit值就进行替换成默认limit值if,inlimit_str:offsetslimit_str.split(,)ifint(offsets[-1])limit:limit_str{}, {}.format(offsets[0],limit)else:ifint(limit_str)limit:limit_str{}.format(limit)limit_str limit_str new_sqlnew_sql.replace(new_sql[start_index:end_index],limit_str,1)new_sqlnew_sql.replace(new_sql[start_index-len( LIMIT ):start_index],special_flag,1)returnnew_sql# 原sql没有limit则在最后加上limit并returnifre.search(rlimit\s.*\d.*,sql,re.IGNORECASE)isNone:sqlsql.rstrip(;) limit %s%int(limit);returnsql# 分析limit语句foriinre.findall( limit ,sql,re.IGNORECASE):sqlfun(sql)# 替换回limit关键字sqlsql.replace(special_flag, limit )returnsql这个函数接收两个参数SQL语句和默认limit限制值在平台中是SQL是从前端获取来的limit值是从配置文件获取来的。大概逻辑如下1. 如果字段中有limit或limittest关键字就不需要处理。2. 如果用户输入没有limit限制就加上默认limit限制然后直接返回sql。3. 如果用户输入有limit限制就进行判断用户输入值是否大于默认值如果大于就替换成默认值否则不改动。4. 最后把替换过的关键字再替换回来。在这里测试就可以直接调用函数即可如下sql select limitest as limit from test limit 10, 100;print(replace_limit(sql, 20))12sqlselect limitest as limit from test limit 10, 100;print(replace_limit(sql,20))结果如下select limitest as limit from test limit 10, 20;1selectlimitestaslimitfromtestlimit10,20;可以看到结果满足我们的需求由于用户输入值大于默认值就替换成了默认limit值。如果您觉得本站对你有帮助那么可以支付宝扫码捐助以帮助本站更好地发展在此谢过。
http://www.yutouwan.com/news/30309/

相关文章:

  • 做网站的具体内容高德地图搜索不到国外
  • 网站备案备的是域名还是空间用哪个软件做网站
  • 手机网站开发最好用的框架app生成链接
  • 国内建设网站好品牌设计公司
  • 上饶网站建设企业国外seo大神
  • 给公司建网站 深圳网站常用的中文字体
  • 广州站八个字苏州seo
  • 建凡网站旅游网站开发说明书
  • 江苏住房城乡建设厅网站做黄金的分析师网站
  • 专做脚本的网站网站的规划方案
  • 网站建设学什么的书写网站建设策划书
  • 长沙做网站 青创互联pk10网站开发
  • seo网站优化怎么建设自己个人网站
  • 怎样建设淘宝客导购网站wordpress摘要插件
  • 网站没有流量做自己的网站后台
  • 企业电子商务网站建设评估试验做网站全是别人的链接
  • 北京网站建设费用门户网站开发项目
  • 网站推荐广告模板wordpress修改页面的title
  • 织梦怎么在本地编辑多个网站北京的网站建设公司有哪些
  • 怎么在网上接网站开发的工作美食网站首页模板
  • 聊城做网站的北京公司网站建站
  • 网站学做糕点的课程开源wordpress
  • 网站建设的项目亮点怎么写重庆节点建筑设计咨询有限公司
  • 不使用域名做网站无人视频在线观看免费播放影院
  • 企业网站托管排版设计制作企业做网站的申请报告
  • 电子商务网站建设 名词解释在线下单网站怎么做
  • 南京企业建设网站设计网站没有关键词库
  • 成功的企业网站案例新北建设局网站
  • 城乡建设网站人力资源区域知识产权贸易中心
  • 专注网站建站新年电子贺卡免费制作软件app