db_dict=dict(host="127.0.0.1",user="root",passwd="test",db="test1")
def insert_one_data(self,sql,*params):
try:
conn=MySQLdb.connect(db_dict)
cur=conn.cursor()
cur.execute("INSERT INTO admininfo(username,passwd) VALUES(%s,%s)",params)
conn.commit
except MySQLdb.Error,e:
print e
sys.exit(1)
finally:
if conn:
cur.close()
conn.close()
1
neoblackcap 2016-01-09 21:44:40 +08:00
cur.execute("INSERT INTO admininfo(username,passwd) VALUES(%s,%s)",*params)试试
|
2
scott123 OP 我的主要问题是我要使用 db_dict 作为参数连接到数据库,而不是使用以下的 code
conn=MySQLdb.connect("127.0.0.1","root","test","test1") 那么以后我只要修改 db_dict 这个参数就可以连接到不同当数据库了,我见到过别人这么实用过,但是我怎么搜索也是找不到 |
3
Zzzzzzzzz 2016-01-09 21:56:24 +08:00 1
MySQLdb.connect(**db_dict)
|
4
neoblackcap 2016-01-09 22:17:38 +08:00
@scott123 支持三楼,刚才急着上厕所,没细看
|
5
scott123 OP import MySQLdb
db_dict=dict(host="127.0.0.1",user="root",passwd="dushibing555",db="test1") conn=MySQLdb.connect(**db_dict) cur=conn.cursor(cursorclass=MySQLdb.cursors.DictCursor) cur.execute("SELECT passwd from admininfo WHERE username=%s",('jerry',)) rows=cur.fetchall() print rows successfull! 能解释一下吗?新手不太懂,我知道参数前加两个**代表是参数是字典,那么是不是说如果不加**号解释器无法识别它是一个字典,所以无法正确的解释参数。 |
6
neoblackcap 2016-01-09 22:40:20 +08:00
|