Using mysql2 I am parsing a json response from an endpoint and inserting some of its values in a mysql database.
What I now want to do is to log this response in a table of my database. The json I receive is in a variable called data
and I properly access it's values like data.object.account_country
and so on.
data
is a valid json like this (trimmed for privacy):
{
"object": {
"id": "in_1IYxloLuHwfLSa62Zjqz5jX5",
"object": "invoice",
"account_country": "IT",
}
}
Now I want to store the entire json in a log table in mysql so I created a json column in my table and I am trying to insert the json.
My query looks like this:
con1.query("INSERT INTO webhook_log SET tipo='"+eventType+"', risposta='"+data+"', created_on=now()",function(err,result){
if(err) throw err;
console.log(`🔔 Webhook logged`);
});
This throws the following error:
{ Error: Invalid JSON text: "Invalid value." at position 1 in value for column 'webhook_log.risposta'.
I also tried removing the single quotes around data but in this case I get:
{ Error: 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 '[object Object], created_on=now()' at line 1
There is obviously something I am doing wrong here but I cannot spot the light on the error.