1
このエラーメッセージが表示されます。 _query
が1文字の場合にのみ動作します。その他の賢明なスローとエラーメッセージ。私はののフラスコを使用しています。エラー:1318 PROCEDUREの引数の数が正しくありません。 Flask
{ error: "(1318, 'Incorrect number of arguments for PROCEDURE alexspider.SearchStore; expected 1, got 2')" }
MySQLの手順:
DELIMITER $$
CREATE PROCEDURE SearchStore(
IN Keyword VARCHAR(50))
BEGIN
SELECT *
FROM noones
WHERE name LIKE CONCAT('%', Keyword, '%');
END$$
DELIMITER ;
フラスコこの行にapp.py
@app.route('/search', methods=['POST'])
def search():
try:
# Read the posted values from the UI
_query = request.form['query']
# Validationg the search Quoey
if _query:
conn = mysql.connect()
cursor = conn.cursor()
cursor.callproc('SearchStore', _query)
stores = cursor.fetchall()
if len(stores) > 0:
stores_dict = []
for store in stores:
store_dict ={
'name': store[2],
'url': store[3],
'cashback': store[4]}
stores_dict.append(store_dict)
return json.dumps(stores_dict)
else:
return render_template('error.hml', error = 'This is error message')
except Exception as e:
return json.dumps({'error': str(e)})
finally:
cursor.close()
conn.close()
プロシージャの呼び出しステートメントは何ですか? –
'cursor.callproc( 'SearchStore'、_query)' –
プロシージャ内に2つのパラメータを渡していることが明確に示されています。 –