如何删除带有符号的文件(特别是撇号)
Posted
技术标签:
【中文标题】如何删除带有符号的文件(特别是撇号)【英文标题】:how to delete a file with symbols (Specifically the apostrophe) 【发布时间】:2015-06-02 18:51:03 【问题描述】:我有一个存储团队的数据库。这些团队名称中的每一个都是独一无二的。如果其中一个被命名为 Bob 的团队。当通过查询字符串将符号发送到下一个文件时,我已经成功地对符号进行了编码。在这个文件中,由于撇号,我收到了 SQL 错误,我不知道如何修复它。不太确定我正在阅读的所有这些逃避的东西。这很令人困惑。这是导致问题的行:
strSQL = "SELECT * FROM Teams WHERE TeamName='" & TheTeamName & "'"
如果 Bob's Team 是团队的名称。我得到的错误是:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'TeamName='Bob's Team''.
/DeleteTeam.asp, line 35
我想知道我必须做什么才能正确删除其中包含撇号(可能还有其他烦人的符号)的团队。
【问题讨论】:
了解Little Bobby Tables 欢迎使用 SQL 注入 (sorta)。使用参数化查询。 这个参数化的东西对我来说是全新的。我将深入研究它,但如果有人可以提供一个快速解释,可能包含适用的代码示例或指向执行此操作的好网站的链接,那就太好了。 【参考方案1】:要使您的查询按原样工作,您可以尝试以下操作:
将 TheTeamName 中的单引号 ' 替换为 '' 然后在您的查询中使用它。 (@least 这适用于 mysql 不确定您的数据库引擎,但试一试)。
注意最好使用prepared statement来防止SQL注入
【讨论】:
按时学习到今晚不是很可行,所以我现在要试试这个。如果你不介意,你能告诉我你在代码中具体指的是哪里吗?您是否建议将其改为 Bob 的团队? 正确,您将 Bob's Team 更改为 Bob's Team。 (当然,这可以通过将字符串 TheTeamName 中的单引号 ' 替换为两个 '' 以编程方式完成)。 LOL 我不能再问任何问题 2 天。距离我上一个也是前两个问题已经有一段时间了。以上是关于如何删除带有符号的文件(特别是撇号)的主要内容,如果未能解决你的问题,请参考以下文章