Python 如何将值传递给mysql查询?

Python 如何将值传递给mysql查询?,python,sql,Python,Sql,我有flask应用程序,我正在尝试使用内部连接,但我无法传递该用户id的值。我收到此错误 mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'user_id =

我有flask应用程序,我正在尝试使用内部连接,但我无法传递该用户id的值。我收到此错误

 mysql.connector.errors.ProgrammingError: 1064 (42000): You have an error in your SQL syntax; 
 check the manual that corresponds to your MySQL server version for the right syntax to use 
 near 'user_id = 1' at line 1
这是我的代码:

user_id = msg_received["user_id"]
select_query1 = "SELECT * FROM user_table INNER JOIN coupon_table using user_id = %s"% user_id

请帮帮我。

试试这个。假设用户_表和优惠券_表之间的关系是在用户_id键上创建的

编辑:
这不是最佳做法。使用字符串插值,您将暴露于SQL注入。您应该使用准备好的语句。

您的主要问题是SQL查询语法确实无效。SQL教程和文档并不短缺,因此我建议您检查MySQL的文档以了解正确的语法。构建查询的方式还有另一个安全问题,这可能导致SQL注入攻击。你可以了解更多关于这个话题以及如何预防它的信息。在这两种情况下,读取现有文档应该足以解决您的问题。请尝试以下操作:使用user\u id=%s、user\u id从user\u table内部联接优惠券\u table中选择\u query1=select*FROM user\u table是否可以提醒这里的每个人,使用字符串插值生成SQL查询是不安全的?的确谢谢你指出。但问题很清楚。他在语法方面有问题,您应该给出答案,说明这不是最佳实践。
SELECT *
FROM user_table INNER JOIN
     coupon_table 
     USING (user_id) 
WHERE user_id = %s"% user_id