コード
今サイトを制作していて、
下記のコードは
condition checkbox kazi BABY pet に
それぞれチェックボックス を入れて(kazi BABY petは複数選択可能)
その選んだチェックボックス を
SQL(DB)に入れるということをしたいです。
しかしこの状態でやると
sqlite3.OperationalError
sqlite3.OperationalError: near ".": syntax error
Traceback (most recent call last)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2463, in call
return self.wsgi_app(environ, start_response)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2449, in wsgi_app
response = self.handle_exception(e)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1866, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask_compat.py", line 39, in reraise
raise value
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 2446, in wsgi_app
response = self.full_dispatch_request()
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1951, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1820, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask_compat.py", line 39, in reraise
raise value
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1949, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Users\tsaru\AppData\Local\Programs\Python\Python37\lib\site-packages\flask\app.py", line 1935, in dispatch_request
return self.view_functionsrule.endpoint
File "C:\Users\tsaru\Desktop\omoiyari.new\app.py", line 31, in add
(condition, checkbox, kazi, BABY, pet, makedinner))
sqlite3.OperationalError: near ".": syntax error
とエラーが出ました。
どうしたらチェックボックス にデータを入れれるでしょうか
よろしくお願いします。
SQL
名前 select_checkbox カラム名 id condition checkbox kazi BABY pet makedinner
の順で配置
HTML
1<form action="/add" method="POST"> 2 3 <input type="checkbox" name="condition" value="tired">疲れている 4 <input type="checkbox" name="condition" value="sleep">寝不足 5 <input type="checkbox" name="condition" value="poor">体調不良 6 7 8 <p>ご飯はどうしますか?</p> 9 10 <input type="checkbox" name="checkbox" value="morning">朝 11 <input type="checkbox" name="checkbox" value="lunch">昼 12 <input type="checkbox" name="checkbox" value="night">夜 13 <input type="checkbox" name="checkbox" value="lunch_box">お弁当 14 <!--<p>使ってほしい食材ありますか?</p> 15 <form action="checkbox.html" method="POST"> 16 <input name="food"/> 17 <input type="text" name="food" placeholder="コメント入力"> 18 <br>--> 19 20 <p>家事リスト(複数選択可)</p> 21 22 <select name="kazi" id="" multiple> 23 <option value="1">皿洗い</option> 24 <option value="2">お皿をしまう</option> 25 <option value="3">洗濯物を洗う</option> 26 <option value="4">洗濯物を干す</option> 27 <option value="5">アイロンがけ</option> 28 <option value="6">服を畳む</option> 29 <option value="7">服を収納する</option> 30 <option value="8">部屋掃除</option> 31 <option value="9">お風呂掃除</option> 32 <option value="10">トイレ掃除</option> 33 <option value="11">ゴミを集める</option> 34 <option value="12">ゴミ捨て</option> 35 36 37 </select> 38 39 <p>赤ちゃんリスト(複数選択可)</p> 40 41 <select name="BABY" id="" multiple> 42 <option value="1">おむつ替え</option> 43 <option value="2">ミルク</option> 44 <option value="3">哺乳瓶の消毒</option> 45 <option value="4">子供のご飯作り</option> 46 <option value="5">ご飯を食べさせる</option> 47 <option value="6">お風呂</option> 48 <option value="7">着替え</option> 49 <option value="8">泣いたらあやす</option> 50 <option value="9">寝かし付け</option> 51 <option value="10">一緒に遊ぶ(室内)</option> 52 <option value="11">一緒にお出かけ</option> 53 <option value="12">保育園の送り迎え</option> 54 <option value="13">病院に連れて行く</option> 55 56 57 </select> 58 <p>ペットリスト(複数選択可)</p> 59 60 <select name="pet" id="" multiple> 61 <option value="1">ペットの散歩</option> 62 <option value="2">ペットのご飯</option> 63 <option value="3">ペットと室内で遊ぶ</option> 64 <option value="4">ペットのトイレ掃除</option> 65 <option value="5">ペットの病院</option> 66 67 68 </select> 69 <div> 70 <input type="submit" value="送信"> 71 72 73 </div> 74 </form> 75 </div> 76 </div>
python
1flask 1-5行目 2from email.mime.text import MIMEText 3import ssl 4import smtplib 5import sqlite3 6import random 7from flask import Flask, render_template, request, redirect, session
flask(該当部分)
@app.route('/add', methods=["POST"]) def add(): # roomid = session['roomid'] # フォームから入力されたアイテム名の取得 condition = request.form.get("condition") checkbox = request.form.get("checkbox") kazi = request.form.get("kazi") BABY = request.form.get("BABY") pet = request.form.get("pet") makedinner = request.form.get("makedinner") conn = sqlite3.connect('omoiyari.db') c = conn.cursor() c.execute("insert into bbs values(null,?,?,?,?.?,?)", (condition, checkbox, kazi, BABY, pet, makedinner)) conn.commit() conn.close() return redirect('/bbshome')
回答1件
あなたの回答
tips
プレビュー