2017-05-19 62 views
1

主要目标是将变量传递给语句,但它不适合用mysql语法,我可以在这里得到一些我在做错的指导吗?MySQLdb python 2.7

def sql_usercreation(endpoint, dbuser, dbpassword, username, password): 

    db = MySQLdb.connect(endpoint, dbuser, dbpassword) 

    cursor = db.cursor() 
    cstmnt = cursor.execute("CREATE USER IF NOT EXIST %[email protected]'%' IDENTIFIED BY %s",[username,password]) 
    dbguser = cursor.execute("select user,host from mysql.user") 
    dboutput = cursor.fetchall() 
    db.commit() 
    db.close() 
    print(dboutput) 

sql_usercreation("hostendpointaddress", "dbadmin", "passworddbadmin", "username", "password") 

错误:

query = query % args 
ValueError: unsupported format character ''' (0x27) at index 30 

回答

1

你要逃脱你%字符作为%%

cursor.execute("CREATE USER IF NOT EXIST %[email protected]'%%' IDENTIFIED BY %s",[username,password])