Variabile in MySQL Query causa l'errore
Domanda
Ho un app node.js utilizzando nodo-mysql per interrogare un database MySQL.
Problema: Sembra che quando faccio il nome della tabella nella query una variabile, le cose smettono di funzionare. Mi sono perso a qualcosa?
lavoro Codice Nodo
client.query('SELECT * from tableA',
function(error, results, fields) {
if (error)
throw error;
callback(results);
});
Non lavorare Codice Nodo
client.query('SELECT * from ?',
[ tableA ],
function(error, results, fields) {
if (error)
throw error;
callback(results);
});
Soluzione
Si potrebbe forse basta aggiungere il nome della tabella alla stringa (pseudo codice, non so node.js)
client.query('SELECT * from ' + [tablaA],
function(error, results, fields) {
if (error)
throw error;
callback(results);
});
Altri suggerimenti
Si motivo per cui non funziona è abbastanza chiaro.
La query dal codice non funzionante sarà:
select * from 'tableA'
Una soluzione è quella da @Andreas, ma si avrà lo stesso problema in una dichiarazione in cui o un inserto per altri valori che non vogliono essere sfuggito come valore "null". (Convertito in una stringa)
Controlla la fonte come formato && fuga dalle opere del nodo-mysql.