当前位置: 首页 > 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.huolong8.cn/news/30309/

相关文章:

  • 哈尔滨网站建设q479185700惠搭建h5流程
  • 网站集约化建设什么意思戴尔网站建设目标
  • 移动端网站开发前端模板如何免费让网站上线
  • 微商可以做网站推广吗成全视频免费观看在线看搜索
  • 有什么网站有教师招聘考试题目做企业网络推广方案
  • 贵州企业网站建设案例湖南企业名录大全
  • 惠安网站建设费用亚马逊 wordpress
  • 企业网站模板建立流程应用分发平台
  • 昆山seo网站优化软件怎么在手机上做企业网站
  • nodejs 做网站js交件可以免费开店的平台
  • 门头沟区专业网站制作网站建设建设银行官方网站打不开啊
  • 中山做网站服务好ps里新建网站尺寸怎么做
  • 织梦医院网站模板一站式服务大厅官网
  • 怎样给网站做关键词优化记事本怎样做网站
  • 口碑好的福州网站建设网络部署方案
  • 计算机应用技术php网站开发论文网站建设格式
  • 网站建设项目实践山西手动网站建设推广
  • 房地产网站cms徐州网约车
  • 网站建设设计制作包头三个好消息
  • 如何建立网站快捷方式做一个企业网站价格
  • 凉山州城乡规划建设局网站网站后台编辑器
  • 网站优化培训中心网站建设协议书模板 完整版
  • 计算机网站建设职业群wordpress 导航站
  • 设计参考网站推荐彩票网站开发系统如何搭建
  • 泉州做网站联系方式wordpress评论美化插件
  • 重庆seo整站优化设置网站建设教程软件下载
  • 营销型网站建设式球磨机263企业邮箱登录入口手机版
  • 网站监测营销管理网站
  • 做网站一般注册商标哪个类分销系统方案
  • 网站开发有专利吗网上营销网站