我有这个代码:
ip = "127.0.0.1"
sql = "select count(*) from radacct where nasipaddress=%s"
cur.execute(sql,ip)
但是我得到一个错误像
TypeError: not all arguments converted during string formatting
如何以正确的方式将参数传递给 psycopg2?
传递给
execute
的 sql 参数必须在元组或列表中,即使只有其中一个。这在文档中有说明:
对于位置变量绑定,第二个参数必须始终是 序列,即使它包含单个变量。记住这一点 Python 需要逗号来创建单个元素元组:
所以你需要这样做:
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql, (ip,))