用python在mysql查询结果中添加字符串的问题

2024-10-03 02:43:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在mysql的查询结果中添加一个字符串

我试过这个代码:

mensaje = input ("introduzca el sms que desea enviar: ")
cursorsql1 = conectar.cursor()
sql = "select msisdn, '(mensaje)'VALUES(%s) as mensaje from perfiles where tarifa not like '%Iot%' and transparent_properties not like '%Momo%' and state like '%active%' and msisdn like '56943404789' and created_at between subdate(current_date, 1) and current_date".format(mensaje, values)
cursorsql1.executemany(sql,mensaje)
columnas = cursorsql1.fetchall()
print(columnas)

错误是这样的

mysql.connector.errors.ProgrammingError: Parameters for query must be list or tuple.

我希望结果是这样的

| 56953404789 | some message  |

知道是什么导致了我的错误吗

提前谢谢你的帮助


Tags: and字符串代码inputsqldate错误mysql
1条回答
网友
1楼 · 发布于 2024-10-03 02:43:17

编辑: 提供注射安全方法:


使用sql CONCAT函数:

sql = "SELECT CONCAT(msisdn, ?) AS mensaje FROM perfiles"
cursorsql1.execute(sql, (mensaje,))

请注意,在sqlite上没有CONCAT函数,而是使用| |运算符:

"SELECT msisdn || ? AS mensaje FROM perfiles"

相关问题 更多 >