###前提・実現したいこと
Python2.7+SQLite3で開発しています。
ウェブ上で入力された値(フィールド名 ID)を元にDB(id_list)を検索し、その結果出たレコード数を取得したいです。
(最終的には取得値を元に条件分岐させたいですが、その前段階で躓いています)
###発生している問題・エラーメッセージ
line189, in add
db.execute(sql)
ValueError: operation parameter must be str or unicode
189行目はdb.execute(sql)です。
###該当のソースコード
@route('/add','GET')
def add():
params={'id':unicode(request.forms.get('id',''),'utf-8'),'submit_type':'はい'}
conn = sqlite3.connect('./db/id_list.db')
db=conn.cursor()
sql=('SELECT count(*) FROM id_list where id=? and used is null', (params['id'],))
db.execute(sql)
result = db.fetchall()
record_max = result[0][0]
print ('結果 ==> ', record_max)
###試したこと
SQLの部分を、以下にしても正しく数値は取れました。
sql='SELECT count(*) FROM id_list and used is null'
しかし、パラメーターを受け取ってそれを入れようとエラーになります。
※一番重要なプログラムが古い物になっていました。失礼しました。
エラーが出ている物に修正しました。
回答3件
あなたの回答
tips
プレビュー