Python,带有变量的mySQL

时间:2016-02-26 09:53:46

标签: python mysql mysql-python

我有以下问题,变量是数组...

#!/bin/bash
nc 127.0.0.1 1234 < /dev/stdin &
sleep 20

这会产生语法错误。

我也试过这个:

c.execute("INSERT into userData values=(%s,%s,%s,%s,%s,%s)",
            t[i],k[0],k[1],k[2],user[i],total)

虽然没有错误,但它不会更新到数据库。 注意:a = "INSERT INTO userData VALUES ('"+t[i]+"','"+k[0]+"','"+k[1]+"','"+k[2]+"', '"+USER+"','"+total+"')" c.execute(a) conn.commit() - 光标,c - 连接。

2 个答案:

答案 0 :(得分:1)

cursor.execute()期望查询参数为元组。试试这个:

cursor.execute("INSERT INTO userData VALUES (%s, %s, %s, %s, %s, %s)",
               (t[i], k[0], k[1], k[2], user[i], total))

不要使用+等来构建SQL查询,因为这可能会导致代码中出现SQL注入漏洞。

答案 1 :(得分:0)

也许尝试使用以下语法:

INSERT INTO table(col1,col2,...)VALUES(val1,val2,...)
相关问题