所以这是我们都应该知道的事情,并且在我第一次看到它时就在我的脑海中浮现.
我知道这mysql_escape_string是从5.3推荐的,但实际的差异是什么mysql_real_escape_string.
我认为这mysql_real_escape_string是完全相同的mysql_escape_string除了mysql_real_escape_string为mysql资源采取第二个参数.
所以我认为,如何处理字符串必须有一些区别,因为不需要2个函数.
所以我认为差异完全取决于语言环境和字符编码.?
任何人都可以为我清除这个吗?
我正在使用SQLAlchemy connection.execute(sql)将选择结果转换为映射数组.有以下代码
def __sql_to_data(sql):
result = []
connection = engine.connect()
try:
rows = connection.execute(sql)
for row in rows:
result_row = {}
for col in row.keys():
result_row[str(col)] = str(row[col])
result.append(result_row)
finally:
connection.close()
return result
Run Code Online (Sandbox Code Playgroud)
例如
__sql_to_data(sql_get_scan_candidate)Run Code Online (Sandbox Code Playgroud)给我很好的数据结构(当然我用它来处理小数据集).但是为了向sql添加参数,我目前正在使用格式,例如
return __sql_to_data(sql_get_profile.format(user_id))Run Code Online (Sandbox Code Playgroud)
问题 如何修改程序以使类似的东西成为可能
return __sql_to_data(sql_get_profile,user_id)Run Code Online (Sandbox Code Playgroud)