0
Python 2.7の変数からMySQL文に文字列値を挿入しようとしました。 私はそれが動作するように見えることができない、誰かが正しい方向に私を指すことができますか?Python 2.7を使用してMySQLに変数を渡す
import MySQLdb
country_name = raw_input("Which country would you like?\n")
dbh = MySQLdb.connect(host="localhost",
user="boole",
passwd="****",
db="mySQL_Experiment_1")
sth = dbh.cursor()
sth.execute("""SELECT name, population FROM world WHERE name=(%s)""", (country_name))
for row in sth:
print row[0], row[1]
それは出力:
/usr/bin/python2.7 "/home/boole/Documents/Python Scripts/mySQL_Experiment_1/main.py"
Which country would you like?
Canada
Traceback (most recent call last):
File "/home/boole/Documents/Python Scripts/mySQL_Experiment_1/main.py", line 10, in <module>
sth.execute("""SELECT name, population FROM world WHERE name=(%s)""", (country_name))
File "/usr/local/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 187, in execute
query = query % tuple([db.literal(item) for item in args])
TypeError: not all arguments converted during string formatting
Process finished with exit code 1
おかげで、 ブール
を試してみてください? –
申し訳ありませんが、私は何かを忘れていたことを知っていた! – Boole
このカーソルを試してみてください( "SELECT name、FROM world name name =%s"、[country_name]) – Prateek