Python Forum
mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python - Printable Version

+- Python Forum (https://python-forum.io)
+-- Forum: Python Coding (https://python-forum.io/forum-7.html)
+--- Forum: General Coding Help (https://python-forum.io/forum-8.html)
+--- Thread: mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python (/thread-36118.html)



mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python - ilknurg - Jan-18-2022

Hi everyone. Im a newbie in python.
I have the code below. Im on ubuntu 18.04. the variable "output " is a json data in my code.

import wmi_client_wrapper as wmi
import mysql.connector
from mysql.connector.constants import ClientFlag
from datetime import datetime
import json

exec(open("/etc/epp/SNMP/mysqlconnector.py").read())

wmi = wmi.WmiClientWrapper(
username="Administrator",
password="Ares4382)",
host="192.168.1.240",
)

output = wmi.query("SELECT * FROM Win32_Processor")
#print(output)
#y = json.dumps(output)
#print(y)

for item in output:

 sql = "INSERT INTO wmi_inventory (wmi_data) VALUES (%s, %s)"
 now = datetime.now()
 dt_string = now.strftime("%Y-%m-%d-%H:%M:%S")
 val = (output, dt_string)
 cursor.execute(sql, val)
 connection.commit()
 
When i execute my code it gives me error
mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python 'list' cannot be converted to a MySQL type


How can i solve this error?


RE: mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python - ilknurg - Jan-18-2022

Sorry for my bad question asking.
I edited it. I already post my all code and error :(


RE: mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python - Yoriz - Jan-18-2022

Did you mean to put the item that is currently being iterated over from output and not output itself in the following line.
val = (output, dt_string)



RE: mysql.connector.errors.ProgrammingError: Failed processing format-parameters; Python - ilknurg - Jan-18-2022

I want to insert this line into my db.
So i want to insert the output

output = wmi.query("SELECT * FROM Win32_Processor")