我有一个python函数,它可以获得如下版本信息:
def get_version_info(build_id, table_name='build_info'):
query = "SELECT `build_commit` FROM `" + table_name + "` WHERE `build_id` = %s "
args = (build_id)
#query = "SELECT `build_commit` FROM `" + table_name + "` WHERE `build_id` = " + build_id
build_commit = None
try:
dbconfig = read_db_config()
conn = MySQLConnection(**dbconfig)
cursor = conn.cursor()
cursor.execute(query, args)
#cursor.execute(query)
row = cursor.fetchone()
if row is not None:
build_commit = row[0]
此函数总是返回 None
不管怎样。当我将其改为使用非参数化查询时,如下所示。它总是正确返回 build_commit
.
def get_version_info(build_id, table_name='build_info'):
query = "SELECT `build_commit` FROM `" + table_name + "` WHERE `build_id` = " + build_id
...
cursor.execute(query)
我在cursor.execute的参数化查询中遗漏了什么,这就是它失败的原因。
暂无答案!
目前还没有任何答案,快来回答吧!