私はPython CGIとMySQL(phpmyadmin)を使用しています。私はPythonで、このSQL文を実行しようとしている。(この例ではtk_journey = 620 - %sがある)MySQL - 整数を含んでいてもNULLを返す
SELECT tk_id, tk_seat_number FROM tickets
WHERE tk_journey = '%s'
ORDER BY tk_id DESC LIMIT 1;
それはphpmyadminの中で完璧に動作し、何それは(これをしている)べき表示されます。
をtk_id tk_seat_number
94 2
しかし、これをPythonスクリプトで実行すると、それぞれにNone/NoneTypeが返されます。
私はこれを試しました:SELECT MAX(tk_id), tk_seat_number FROM tickets WHERE tk_journey = '%s'
しかし、それは同じ結果をもたらしました。
引用符を付けずに%sを使用しようとしましたが、mysql構文でもエラーが発生しました。私はまた、データベース接続を閉じて開こうとしました - うまくいきませんでした。 私はこの問題を多く研究してみましたが、助けには至りませんでした。ここ
は、Pythonコードである:この選択/テーブルへの情報の挿入と同様、他のいくつかの機能があるので= 620
def getSeatNum(jid):
statement = '''SELECT tk_id, tk_seat_number FROM tickets
WHERE tk_journey = '%s'
ORDER BY tk_id DESC LIMIT 1;'''
cursor.execute(statement, jid)
row = cursor.fetchone()
seat_num = row[0]
return(seat_num)
seat_no = getSeatNum(jid)
JIDは、DB接続が正常に動作するが、これは失敗しているように見えます?
ありがとうございます!
編集:これが私の目的であるかどうかはわかりません。これはこの質問の複製としてマークされています:Python MySQL TypeError。私はこのTypeErrorを得たことはありません。プログラムがエラーを発生させずに実行された場合、単にNULLを返しただけで、後で変数がNULLになるため影響を受けます。私が得るエラーは、上に示したようなSQLの構文エラーと、動作させるために手を出そうとしたときのさまざまなPythonエラーでした。このタイプのエラーではありません。
ありがとうBarmar!それはうまくいった、私はそれが簡単だったと信じることができないと私はそれを理解しようとずっと長い間過ごした! : ') –