iT邦幫忙

0

[已解決^^] MySQL 無法接收佔位符號的內容

  • 分享至 

  • xImage

錯誤訊息

pymysql.err.ProgrammingError: 
(1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Beitun_District'' at line 1")

app檔

def Select():
    if request.method == 'GET': 
        session.clear()
        form = m.SelectForm() 
        return render_template('index.html', form=form)
    else:
        form = m.SelectForm(request.form) 
        if request.method =='POST' and form.validate():       
            add = request.form['add'] 
            agg = request.form['agg']                          
            detail= m.sql_read(add) 

module檔

def sql_read(add):  
    connection = pymysql.connect(host='********',
                                 port=3307,
                                 user='root',
                                 password='*****',
                                 database='taichung',
                                 charset='utf8mb4')  
    with connection:
        with connection.cursor() as cursor:
            sql = "SELECT * FROM  %s "        
            cursor.execute(sql,add)                     
            rows=cursor.fetchall()        
        connection.commit()
froce iT邦大師 1 級 ‧ 2022-03-29 22:49:37 檢舉
直接送Beitun_District(不加佔位符)看看
錯誤訊息裡有 ''Beitun_District'' 這裡附近是錯誤的.
可以思考看看能夠正常執行的,會是怎樣的情況.
碼農 iT邦新手 4 級 ‧ 2022-03-30 08:52:30 檢舉
感謝兩位大師 已解決!!!

1.我一定要用佔位符號 ,因為要給用戶切換各種table
2.有嘗試很多種符號組合,終於測出一種無法想像的哈哈

下列佔位符號給大家參考:sql = "SELECT * FROM %s" %(add)
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友回答

立即登入回答