Question

I ont une application utilisant Node.js noeud-mysql pour interroger une base de données MySQL.

Problème: Il semble que quand je fais le nom de la table dans la requête une variable, les choses ne fonctionnent plus. Est-ce que je rate quelque chose?

travail sur le code Node

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

Non-travail Code de noeud

client.query('SELECT * from ?',
                [ tableA ],
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });
Était-ce utile?

La solution

Vous pouvez probablement ajouter le nom de la table à la chaîne (code pseudo, je ne sais pas Node.js)

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

Autres conseils

Ils raison pour laquelle il ne fonctionne pas est assez clair.

La requête du code non-travail sera:

SELECT * de 'tableA'

Une solution est celle de @Andreas, mais vous aurez le même problème dans une déclaration ou où insérer pour d'autres valeurs que vous ne voulez pas être échappé comme valeur « null ». (Converti en une chaîne)

Même problème

Consultez la source Format && échapper à des œuvres noeud-mysql.

scroll top