我無法通過Flask連接mysql服務器。 我有4個文件:server.py,testDB.py,testDB2.py和初始化的.py如何通過Flask連接Mysql服務器使用Python?
首先,如果init.py進口testDB.py我運行python server.py,它將打印
changes in the database
* Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
我的user_info表將有user1。
但是,如果init.py進口testDB2.py我運行python server.py,它只是打印
* Running on http://0.0.0.0:8000/ (Press CTRL+C to quit)
我USER_INFO表將不會出現user2的。
我該如何解決這個問題? testDb.py和testDB2.py之間的區別是在我testDB2.py
定義的函數初始化的.py
from flask import Flask
app = Flask(__name__)
import testDB
server.py
from Sw import app
if __name__ == '__main__':
port = 8000
host = '0.0.0.0'
app.run(host = host, port = port)
testDB.py
import MySQLdb
db = MySQLdb.connect(host="127.0.0.1",user="root",passwd="1234",db="testdb")
cursor = db.cursor()
sql="""INSERT INTO user_info (user_id, user_email, user_password) VALUES ('user1','00000','000000')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
print "changes in the database"
db.commit()
except:
# Rollback in case there is any error
print "there is any error"
db.rollback()
db.close()
testDB2.py
import MySQLdb
def testDB():
db = MySQLdb.connect(host="127.0.0.1",user="root",passwd="1234",db="testdb")
cursor = db.cursor()
sql="""INSERT INTO user_info (user_id, user_email, user_password) VALUES ('user2','00000','000000')"""
try:
# Execute the SQL command
cursor.execute(sql)
# Commit your changes in the database
print "changes in the database"
db.commit()
except:
# Rollback in case there is any error
print "there is any error"
db.rollback()
db.close()
您需要調用'testDB2.py'中的'testDB'函數。 – dirn