2017-11-25 13 views
2

を動作しませんexecuteは500エラーをスローします。例えば、表ツールから、製造業者およびsub_type両方のVARCHARであるため、このコードブロックは、完全に動作:ボトル内のInt、小数や日時タイプの実行とのMySQLdbは、実行はint型、10進数または日時の列が含まれているときはいつでもPythonAnywhere.com</p> <p>にボトルでのMySQLdbを使用している間、私は非常に奇妙なエラーを取得しています

reservation_id = request.forms.get("reservation_id") 
db = MySQLdb.connect("...") 
c = db.cursor() 
c.execute("""SELECT manufacturer, sub_type FROM Tool""") 
row = c.fetchone() 
return row 

しかし、int型であることを同じテーブルからtool_id、または任意の他の列を求めますそのテーブルからint型、10進数または日時型の:

reservation_id = request.forms.get("reservation_id") 
db = MySQLdb.connect("...") 
c = db.cursor() 
c.execute("""SELECT tool_id FROM Tool""") 
row = c.fetchone() 
return row 

とボトルは、重大なエラーがスローされます:WSGIアプリケーション はSystemErrorを実行している

エラー:エラーで結果が返され

を設定

MySQL bashでは、すべてのクエリが完全に機能します。 execute()に同じクエリ(int、decimal、またはdatetimeのみ)を入れると失敗します。

誰も同じような経験をしていますか?

+1

質問にスタックトレースとボトルフレームワークコードを含めておけば、助けが簡単になりますが、私は勘違いしています。 –

答えて

4

WSGIレスポンスとしてrowを返信していますか?もしそうなら、それが問題です。 the WSGI standardによると:

When called by the server, the application object must return an iterable yielding zero or more strings.

はこれを説明するために、最初の文字列にあなたの行を変換しようとすると、それが役立つことを確認してください。たとえば、

+0

あなたは素晴らしいです!それで、ありがとう!私たちが道を渡るなら、私はあなたにコーヒーを借りています! –

関連する問題