Consulta Dinâmica
Pessoal,
Estou tentando aprender python. A versão instalada é 2.5 windows + apache 2.0.63 + php 5.2.3. Então fiz essa consulta no mysql, porém queria digitar o código no input e exibe o produto. Veja código:
>
#!/usr/bin/python
import MySQLdb
codigo = int(raw_input('Digite o código do produto: '))
Conecta
db = MySQLdb.connect(host="localhost", user="xxxx", passwd="xxxx", db="xxxxxx")
Cria um cursor
cursor = db.cursor()
Executa o SQL
cursor.execute("SELECT * FROM produto WHERE cod_produto = %s")
numrows = int(cursor.rowcount)
Lista uma linha de cada vez
for x in range(0,numrows):
row = cursor.fetchone()
print row[0], "-->", row[1]
Portanto, quando clico F5 pede o código e depois exibe esse erro:
>
Traceback (most recent call last):
File "C:\Python25\curso\mysql", line 9, in <module>
cursor.execute("SELECT * FROM produto WHERE cod_produto = %s")
File "C:\Python25\Lib\site-packages\MySQLdb\cursors.py", line 166, in execute
self.errorhandler(self, exc, value)
File "C:\Python25\Lib\site-packages\MySQLdb\connections.py", line 35, in defaulterrorhandler
raise errorclass, errorvalue
ProgrammingError: (1064, "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%s' at line 1")
Como faço para acertar isso.
Um abraço.
Alissong
Discussão (3)
Carregando comentários...