2017-05-24 9 views
0

私は簡単なプログラムを作成していて、データベースから情報を取り出そうとしています。私が使用しているデータベース内のテーブルは名前と呼ばれます。私が次のようなことをすれば:フラスコ内のmysqlから情報を引き出す際の問題

self.cursor.execute("""select * from names WHERE first_name = 'Sarah' """) 
for row in self.cursor.fetchall(): 
    print(row[0]) 

私はまさに私が欲しいものを手に入れます。私は次のように変数にその名前を変更し、のような何かをするなら:mysql.connector.errors.ProgrammingError::1064(42000):

name = input('Enter First name: ') 
self.cursor.execute("""select * from names WHERE first_name=%s""", (name)) 

私は次のエラーを取得するあなたのSQL構文でエラーが発生しています。あなたのMySQLサーバのバージョンに対応するマニュアルを調べて、正しい構文が1行目の '%s'付近で使用されるようにしてください。

私の質問に近い他の投稿があります。動作していないようです。私もいくつかのチュートリアルに従ってみましたが、まだこのエラーが発生しています。だから、どんな助けもありがとう!ありがとうございました!私はmysql.connector、Python 3.4、Flaskを使用しています。

答えて

0

私は自分自身で答えを見つけました。私はこれをしなければならなかった:self.cursor.execute(query、(name、))答えは深く掘り下げられ、このサイトを見つけた:Python MySQL Connector database query with %s fails

関連する問題