Voici le code qui ne fonctionne paspython avec insertion de requête mysql - seul paramètre
#!/usr/bin/python
import urllib
import datetime
import mysql.connector
data['price'] = 100
# Write to database
cnx = mysql.connector.connect(user='user', password='pw', database='db')
cursor = cnx.cursor()
query = ("INSERT INTO records(price) VALUES(%s) ")
cursor.execute(query, (data['price']))
cnx.commit()
cursor.close()
cnx.close()
MySQL a la table correspondante et de la colonne.
- id (primaire INT AUTO_INCREMENT)
- prix (FLOAT)
Il n'y a pas de problème de connexion.
Il provoque l'erreur suivante. Une idée?
Traceback (most recent call last): File "./sys-fetchdata.py", line 22, in cursor.execute(query, (data['price'])) File "/usr/lib/python2.7/dist-packages/mysql/connector/cursor.py", line 507, in execute self._handle_result(self._connection.cmd_query(stmt)) File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 722, in cmd_query result = self._handle_result(self._send_cmd(ServerCmd.QUERY, query)) File "/usr/lib/python2.7/dist-packages/mysql/connector/connection.py", line 640, in _handle_result raise errors.get_exception(packet) mysql.connector.errors.ProgrammingError: 1064 (42000): 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
@hiro_protagonist Merci. Vous devriez mettre cela en réponse. C'est là que le problème prend racine. –