iT邦幫忙

0

flask 連接 mysql 操作失敗

  • 分享至 

  • xImage

大家好,小弟我目前正在學習 flask,目前在連接操作資料庫上遇到一些問題,請各位大神可以幫我看一下哪邊出了問題,謝謝!!

程式碼如下,將接收到的名稱、帳號、密碼存入資料庫
https://ithelp.ithome.com.tw/upload/images/20220423/2014848614VnOYPnZo.png
https://ithelp.ithome.com.tw/upload/images/20220423/20148486qqWjBd1gjI.png
https://ithelp.ithome.com.tw/upload/images/20220423/20148486yolZdkqlnO.png

不過一直顯示錯誤
https://ithelp.ithome.com.tw/upload/images/20220423/20148486ZOh8r3JAOQ.png

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

0
黃彥儒
iT邦高手 1 級 ‧ 2022-04-23 14:16:42

開Debug模式

看更多先前的回應...收起先前的回應...

顯示錯誤如下,不過我只輸入3個引數他怎麼說我給4個
https://ithelp.ithome.com.tw/upload/images/20220423/20148486h2NLqYyU9Q.png

黃彥儒 iT邦高手 1 級 ‧ 2022-04-23 17:31:06 檢舉

哦哦,因為add是要放member物件,所以你要先初始化一個member物件然後整個物件add給他
你一定沒有看說明書厚

不好意思我真的剛開始學習。
請問要看哪個說明書或程式碼該改成什麼樣子,可以請您說明得清楚一點嗎,謝謝。

黃彥儒 iT邦高手 1 級 ‧ 2022-04-23 20:53:47 檢舉
0
熊熊工程師
iT邦研究生 1 級 ‧ 2022-04-25 11:28:10

你新增資料這邊應該要這樣寫

member = members(name=name, account=account, passward=passward)

db.session.add(member)
db.session.comit()

另外提醒一下,通常在 python 裡面 (其他語言我不清楚) 定義一個 class 的時候單的第一個字要大寫,並且每個不同單字的第一個字母都要大寫,例如: Members or OurMembers,方便區分跟一班變數的差別。

不論是 flask_sqlalchemy 或是 sqlalchemy 資料庫通常都是收一個,你建立好的 class 物件,其實也挺正常,不然他也沒必要大費周章教你先定義出一個 members 的 class,關於物件是甚麼的部分我覺得 這篇文章 寫得還不錯,另外 flask_sqlalchemy 跟 sqlalchemy 概念其實差不多,可以參考一下我之前寫的文章

最後建議一下發問如果有 code 可以善用 code block 這樣別人複製程式碼會比較快些,也比較會有人有意願回覆~

我要發表回答

立即登入回答