我有一些奇怪的感觉abour sqlite3 参数,我想透露给你.
这是我的查询和失败消息:
#query
'SELECT id FROM ? WHERE key = ? AND (userid = '0' OR userid = ?) ORDER BY userid DESC LIMIT 1;'
#error message, fails when calling sqlite3_prepare()
error: 'near "?": syntax error'
Run Code Online (Sandbox Code Playgroud)
在我的代码中它看起来像:
// Query is a helper class, at creation it does an sqlite3_preprare()
Query q("SELECT id FROM ? WHERE key = ? AND (userid = 0 OR userid = ?) ORDER BY userid DESC LIMIT 1;");
// bind arguments
q.bindString(1, _db_name.c_str() …Run Code Online (Sandbox Code Playgroud) 我开始编写一个与数据库一起使用的 Python 应用程序。阅读有关准备好的陈述时,我发现了应该如何编写它们:
...
strSQL = "select * from myTable where aField = $s" % (aValue)
cursor.execute(strSQL)
...
Run Code Online (Sandbox Code Playgroud)
我的问题是:这是否容易受到 SQL 注入攻击?如果是这样,我该如何预防?
谢谢