运行此脚本时:
#! /usr/bin/env python
import MySQLdb as mdb
import sys
class Test:
def check(self, search):
try:
con = mdb.connect('localhost', 'root', 'password', 'recordsdb');
cur = con.cursor()
cur.execute( "SELECT * FROM records WHERE email LIKE '%s'", search )
ver = cur.fetchone()
print "Output : %s " % ver
except mdb.Error, e:
print "Error %d: %s" % (e.args[0],e.args[1])
sys.exit(1)
finally:
if con:
con.close()
test = Test()
test.check("test")
Run Code Online (Sandbox Code Playgroud)
我得到一个错误:
./lookup
Traceback (most recent call last):
File "./lookup", line 27, in <module>
test.check("test")
File "./lookup", …Run Code Online (Sandbox Code Playgroud) 我有一个简单的数据库查询psycopg2但我不知道为什么它总是显示错误这里是代码
ip ="127.0.0.1"
sql="select count(*) from radacct where nasipaddress=%s"
cur.execute(sql,ip)
Run Code Online (Sandbox Code Playgroud)
然后它会显示出来
TypeError:并非在字符串格式化期间转换所有参数
如果我以这种方式尝试
cur.execute("select count(*) from radacct where nasipaddress=%s" % ip)
Run Code Online (Sandbox Code Playgroud)
它仍然无法正常工作
我怎样才能以正确的方式将参数传递给psycopg2.请帮助我!