Pregunta

Tengo una aplicación Node.js usando Node-Mysql para consultar una base de datos MySQL.

Problema: Parece que cuando hago el nombre de la tabla en la consulta una variable, las cosas dejan de funcionar. ¿Me perdí algo?

Código de nodo de trabajo

client.query('SELECT * from tableA',
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });

Código de nodo no laboral

client.query('SELECT * from ?',
                [ tableA ],
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });
¿Fue útil?

Solución

Probablemente podría agregar el nombre de la tabla a la cadena (código pseudo, no conozco node.js)

client.query('SELECT * from ' + [tablaA],
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });

Otros consejos

Ellos razonan por qué no funciona es bastante claro.

La consulta del código no laboral será:

Seleccione * de 'Tablea'

Una solución es la de @Andreas, pero tendrá el mismo problema en una declaración Where o insertar para otros valores que no desea que se escape como el valor "nulo". (convertir en una cadena)

El mismo problema aquí

Revisar la fuente Cómo funciona el formato && escape del nodo-mysql.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top