2017-01-24 5 views
-1

を使用して、私はフラスコのようMariaDBに変数と演算子とPython

with db.engine.connect() as connection 
    query_str = "SELECT * FROM db_name WHERE name LIKE :condition" 
    connection.execute(text(query_str), condition="%" + word + "%") 

を試みたが、それは動作しませんでした。コードを修正するにはどうしたらいいですか?

+0

ワイルドカードとして '%'を使用する場合、 '='ではなく 'LIKE'が必要です。 'FULLTEXT'インデックスの使用を検討してください。 –

答えて

0

https://mariadb.com/resources/blog/how-connect-python-programs-mariadb

import mysql.connector as mariadb 
mariadb_connection = mariadb.connect() 
cursor = mariadb_connection.cursor() 
cursor.execute("SELECT * FROM db_name WHERE name LIKE %s", (some_name,)) 

から、問題は、接続ではなく、その接続のカーソルに()を実行して呼び出しているということです。