Hola, tengo problemas con el uso de variables que declaré en mi solicitud de jquery:
var int_example = "42"; int_example = parseInt(id); var string_example = "42"; const { Client } = require('pg') const client = new Client({ user: 'postgres', host: 'localhost', database: 'postgres', password: 'password', port: 5432 }); var query = "INSERT INTO data (int,string) VALUES (int_example,string_example); client.connect() .then(() => console.log("Connection a la base de données réussie")) .then(() => console.log("Nos commandes:")) .catch(e => console.log(e)) .then(() => client.query(query))Recibo este tipo de error: "{ error: la columna "int_example" no existe" y no estoy seguro de si string_example funciona también... Parece que no puedo usar el tipo var o estoy haciendo algo mal, por favor dime.
Gracias
hay dos formas de poner variables en cadenas JS:
var query = "INSERT INTO data (int,string) VALUES (" + int_example + ",'" + string_example + "');"; var query = `INSERT INTO data (int,string) VALUES (${int_example},'${string_example}');`en este momento, su consulta no contiene valores de int_example y string_example y son solo sus nombres.
Sus problemas resultan de su cadena de consulta. Los valores de int_example y string_example no están presentes en su consulta.
Puede solucionar el problema utilizando la interpolación de cadenas o la concatenación de cadenas
Su solución será utilizar una de las siguientes opciones:
Interpolación de cadenas:
var query = `INSERT INTO data (int,string) VALUES (${int_example},${string_example})`;Concatenación de cadenas:
var query = "INSERT INTO data (int,string) VALUES (" + int_example + "," + string_example + ")";Nota: Cada vez que crea una cadena a partir de una cadena y un número/int, el resultado es una cadena. Number/int se convierte en una cadena cuando se concatena.