我試圖searchData在我的 if 陳述句之外使用,這樣我就可以在我的查詢中使用該變數。但它給了我一個錯誤UnboundLocalError: local variable 'searchData' referenced before assignment
@app.route('/ML', methods=['GET', 'POST'])
def index():
if request.method == "POST":
request_data = json.loads(request.data)
searchData = (request_data['content'])
return jsonify(searchData)
mycursor = mydb.cursor(dictionary=True)
query = "SELECT * FROM COMPANY WHERE COMPANY_NAME LIKE %s LIMIT 20;"
mycursor.execute(query,("%" searchData "%",))
myresult = mycursor.fetchall()
company = []
content = {}
for result in myresult:
content ={'COMPANY_NAME':result['COMPANY_NAME'],}
company.append(content)
content = {}
return jsonify(company)
我也試過searchData在我的 if 陳述句上方宣告。它消除了錯誤,但我的 if 陳述句沒有更改該值。它保持我宣告的方式。我感謝任何人可以提供的任何幫助。先感謝您。
uj5u.com熱心網友回復:
看來這個問題可以通過global對變數的處理來緩解。將 searchData 宣告為 global first 怎么樣?
@app.route('/ML', methods=['GET', 'POST'])
def index():
global searchData
if request.method == "POST":
request_data = json.loads(request.data)
searchData = (request_data['content'])
return jsonify(searchData)
mycursor = mydb.cursor(dictionary=True)
query = "SELECT * FROM COMPANY WHERE COMPANY_NAME LIKE %s LIMIT 20;"
mycursor.execute(query,("%" searchData "%",))
myresult = mycursor.fetchall()
company = []
content = {}
for result in myresult:
content ={'COMPANY_NAME':result['COMPANY_NAME'],}
company.append(content)
content = {}
return jsonify(company)
uj5u.com熱心網友回復:
您return searchedInput在if陳述句塊中有一個陳述句,洗掉它可能會解決您的問題。return陳述句將終止您的函式執行。
對于GET方法,searchedInput應該在if陳述句之前宣告。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358052.html
標籤:Python mysql 变量 烧瓶 mysql-连接器
