它显示在thisanswer中,以回答其在Python中如何替换字符串的问题。在
我相信它的工作原理
string toSql(string table, string field, string value)
{
string out;
return out = "INSERT INTO %s (%s) VALUES (%s)" % (table,field,value);
}
在没有文件I/O的情况下,C++中有类似的方法吗?在我试图用它来对SQLite数据库进行查询。在
我避免使用外部库。前增压
此外,输入来自程序,而不是用户。所以我不相信我会遇到注入漏洞
看看函数的printf family。在
但是,请注意,如果任何参数都是未经认知的用户输入,这可能会使您的程序面临SQL注入攻击。您应该改为使用一个准备好的语句(
sqlite3_prepare()
后跟sqlite3_bind_...()
)将value
绑定到语句中,但是您仍然必须从table
和field
参数构建字符串,因为这样无法绑定数据库对象名。在可以使用准备好的语句“C++方式”(C++ 11或更好的^ ^}):
^{pr2}$使用此代码,您可以将
sqlite3_prepared_stmt
存储在某个地方并重用它。在相关问题 更多 >
编程相关推荐