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

国外网站网站app深圳住房和建设

国外网站网站app,深圳住房和建设,flash可以用来制作网页吗,seo建站淘客我知道如何将列表映射到字符串#xff1a;foostring ,.join( map(str, list_of_ids) )而且我知道我可以使用以下命令将该字符串放入IN子句中#xff1a;cursor.execute(DELETE FROM foo.bar WHERE baz IN (%s) % (foostring))我需要使用MySQLDB安全地…我知道如何将列表映射到字符串foostring ,.join( map(str, list_of_ids) )而且我知道我可以使用以下命令将该字符串放入IN子句中cursor.execute(DELETE FROM foo.bar WHERE baz IN (%s) % (foostring))我需要使用MySQLDB安全地完成同一件事(避免SQL注入)。 在上面的示例中由于foostring没有作为执行参数传递因此它很容易受到攻击。 我还必须在mysql库之外引用和转义。(有一个相关的SO问题但是那里列出的答案对于MySQLDB无效或容易受到SQL注入的影响。)您可能可以从php stackoverflow.com/questions/327274/中完成的类似问题中获得一些启发SQL查询中python列表的可能重复项作为参数mluebke关于在查询中传递多个列表的任何想法吗直接使用list_of_idsformat_strings ,.join([%s] * len(list_of_ids))cursor.execute(DELETE FROM foo.bar WHERE baz IN (%s) % format_strings,tuple(list_of_ids))这样您就不必引用自己的报价并避免各种SQL注入。请注意数据(list_of_ids)作为参数(不在查询文本中)直接进入mysql的驱动程序因此没有注入。您可以在字符串中保留所需的任何字符而无需删除或引用字符。为什么在format_strings中引用s也可以通过.execute()方法来处理吗heikogerlach我没有引用s ...第一行创建了一个字符串sss ...的长度与list_of_ids长度相同。啊你说的对。需要更加努力。我莫名其妙地把它混合了。不错的解决方案。在sqlite中也可以使用吗因为我刚尝试过它似乎指出了语法错误。在sqlite中 Sohaib的替换字符是?而不是%s因此如果将第一行更改为format_strings ,.join(? * len(list_of_ids))它将起作用。是的我做了一点研究就知道了。虽然感谢您的帮助:)根据这样的语句与不同数量的参数一起使用的频率我希望对参数编号进行分组并执行多个以确保数据库仅看到有限数量的变体(对于sql缓存)。这也有助于避免过多的参数。您能否为Python3中的相同解决方案提供示例语法nosklo如果使用的查询对象具有例如fname_list [item1, item2] query (select distinct cln from vcf_commits where branch like %s and repository like %s and filename in (%s) and author not like %s % format_strings,) cursor churn_db_connection.get_connection_cursor() cursor.execute(query, (branch, repository, tuple(fname_list), invalid_author,))的参数如何执行相同操作则会引发错误kdas在您的情况下您不希望% format_strings部分更改查询中的其他%s占位符仅更改IN (%s)占位符-实现此目的的方法是将所有%字符加倍除了所需的字符替换query (select distinct cln from vcf_commits where branch like %%s and repository like %%s and filename in (%s) and author not like %%s % format_strings,); cursor.execute(query, (branch, repository) tuple(fname_list) (invalid_author,))啊这真是棒极了nosklo。 format_strings之后的逗号()引起错误但删除后它可以正常工作。天才。掌声。 query (select distinct cln from vcf_commits where branch like %%s and repository like %%s and filename in (%s) and author not like %%s % format_strings);尽管这个问题已经很老了但最好还是留下一个答案以防其他人在寻找我想要的东西当我们有很多参数或想要使用命名参数时可接受的答案会变得混乱经过一番试验ids [5, 3, ...]  # list of idscursor.execute(SELECT...WHEREid IN %(ids)sAND created_at %(start_dt)s, {ids: tuple(ids), start_dt: 2019-10-31 00:00:00})用python2.7pymysql0.7.11测试如果使用Django 2.0 or 2.1和Python 3.6这是正确的方法from django.db import connectionRESULT_COLS [col1, col2, col3]RESULT_COLS_STR , .join([a.i for i in RESULT_COLS])QUERY_INDEX RESULT_COLS[0]TABLE_NAME testsearch_value [ab, cd, ef]  # query (fSELECT DISTINCT {RESULT_COLS_STR} FROM {TABLE_NAME} a fWHERE a.{RESULT_COLS[0]} IN %s fORDER BY a.{RESULT_COLS[0]};)  # with connection.cursor() as cursor:cursor.execute(query, params[search_value])  # params is a list with a list as its element参考https://stackoverflow.com/a/23891759/2803344https://docs.djangoproject.com/zh-CN/2.1/topics/db/sql/#passing-parameters-into-raw无痛MySQLdb execute(...WHERE name1 %s AND name2 IN (%s), value1, values2)def execute(sql, *values):assert sql.count(%s) len(values), (sql, values)placeholders []new_values []for value in values:if isinstance(value, (list, tuple)):placeholders.append(, .join([%s] * len(value)))new_values.extend(value)else:placeholders.append(%s)new_values.append(value)sql sql % tuple(placeholders)values tuple(new_values)# ... cursor.execute(sql, values)list_of_ids [ 1, 2, 3]query select * from table where x in %s % str(tuple(list_of_ids))print query如果您不希望使用必须传递参数以完成查询字符串的方法并且只想调用cursror.execute(query)的方法则这在某些用例中可能会起作用。另一种方法可能是select * from table where x in (%s) % , .join(str(id) for id in list_of_ids)很简单只需使用以下格式rules_id [ 9 10]sql1 SELECT * FROM Attenance_rules_staff WHERE id in( .join(map(strrules_id)))。join(map(strrules_id))它在哪里进行sql引用这不是使用文字而不是绑定变量吗不需要它只是工作正常。您可以测试因为元组结构直接用第一个大括号( 9 10)转换为字符串。哪个调整sql格式。因此您不需要其他格式即可使sql可调整并且rules_id是否包含); DROP TABLES Bobby --已经告诉内嵌列表而不是) ...因此在查询之前您需要验证或使用sql1 SELECT * FROM Attenance_rules_staff WHERE id in( .join(map(strrules_id)))如果您坚持使用数字我猜它很好但是仍然会产生带有文字的SQL糟糕的SQL解析器...
http://wiki.neutronadmin.com/news/166669/

相关文章:

  • 成都知名网站建设公司网站运营需要服务器吗
  • 求个网站你懂我意思是wordpress退出代码
  • 做代刷网站赚钱不威海建设局网站首页
  • 潮州外贸网站建设wordpress 视频
  • 一个空间可以做几个网站吗网页微信版文件传输助手
  • 企业网站开发douyanet谷歌优化技术
  • 如何建立网站视频教程电商培训需要什么资质
  • 做公司网站一般多少钱石家庄网站开发费用
  • 网站后台开发公司做网站的步骤
  • 网站设计大概收费范围百度网盘登录入口 网页
  • 自己架设服务器做网站湖南新备案的网站
  • 长沙做网站seo艺术培训学校系统网站怎么做
  • 生产系统管理软件成都seo手段
  • 企业网站建设遵循的原则wordpress 长尾词优化
  • 国家工业和信息化部网站备案系统wordpress文件上传位置
  • 网店网站怎么做黄岩路桥网站设计
  • 网站建设中页面下载网络推广文案前景
  • 英文网站提交30多了学网站建设晚吗
  • 购物网站建设实战教程答案傻瓜式做网站
  • 建设网站空间怎么预算wordpress 佛系汉化组
  • 陕西省建设资格注册中心网站东莞理工学院教务处
  • 无忧中英繁企业网站系统 破解网页设计课程心得体会
  • 国外网站专题红黄中国做趋势的网站
  • html视频网站模板网站的开发建设要做什么
  • 在淘宝上做代销哪个网站好切片工具做网站怎么做
  • 能打开各种网站的浏览器黄骅市中医院
  • 忘记网站后台账号深圳龙岗区住房和建设局网站
  • 郑州网站建设修改做网站运营很累吧
  • 做网站分流三个字最吉利最旺财的公司名
  • 中国建设银行网站-个人客户嘉兴网站制作建设