如何将变量数据插入postgresql?

2024-10-02 22:38:20 发布

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

我已经用postgresql创建了一个数据库。我能够在表中插入字符串值。我想在表中插入变量数据。但我得到的整数错误语法无效

import psycopg2

temp= 30
hum = 50

conn = psycopg2.connect('dbname=test')

cur = conn.cursor()

cur.execute("INSERT INTO DHT11 (temperature, humidity) VALUES('temp','hum')")
conn.commit() 
cur.execute('select * from DHT11')


results = cur.fetchall()

for result in results:

    print(result)

Tags: 数据字符串数据库executepostgresql错误整数result
1条回答
网友
1楼 · 发布于 2024-10-02 22:38:20

将值传递到查询时请使用参数,如下所示:

    import psycopg2

    temp= 30
    hum = 50

    conn = psycopg2.connect('dbname=test')

    cur = conn.cursor()

    cur.execute("INSERT INTO DHT11 (temperature, humidity) VALUES(%s, %s)", (temp, hum))
    conn.commit() 
    cur.execute('select * from DHT11')


    results = cur.fetchall()

    for result in results:

        print(result)

当您使用此表单时,您可以保护自己不受SQL注入的影响。驱动程序还负责转义和引用传递到查询中的值

在原始代码中,将'temp''hum'放在查询字符串中试图将文字值temphum放在表中。字符串不是整数

相关问题 更多 >