我正在嘗試獲取價值name=a并獲取資料但我正在獲取
sqlite3.OperationalError: no such column: a
@app.route('/editform/<_name>')
def editform(_name):
db = sql.connect("database.db")
cursor = db.cursor()
cursor.execute('SELECT * FROM students WHERE name= %s' %_name)
uj5u.com熱心網友回復:
那是因為您使用字串格式來替換%s的值_name,以
SELECT * FROM students WHERE name= a
請注意,a此處被解釋為列名,因為它不在引號之間(即"a")。
不要對 SQL 陳述句使用字串格式,因為您很容易受到 SQL 注入攻擊。使用正確的占位符語法:
cursor.execute('SELECT * FROM students WHERE name=?', (_name,))
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/314014.html
