Frage

Ich habe eine Node.js-App, die Node-Mysql verwendet, um eine MySQL-Datenbank abzufragen.

Problem: Es scheint, dass wenn ich den Tabellennamen in der Abfrage eine Variable mache, die Dinge nicht mehr funktionieren. Habe ich etwas verpasst?

Arbeitsknotencode

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

Nicht arbeitender Knotencode

client.query('SELECT * from ?',
                [ tableA ],
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });
War es hilfreich?

Lösung

Sie könnten wahrscheinlich nur den Tabellennamen an die Zeichenfolge anhängen (Pseudo -Code, ich kenne Node.js nicht)

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

Andere Tipps

Sie begründen, warum es nicht funktioniert, ist ziemlich klar.

Die Abfrage aus dem nicht arbeitenden Code ist:

Wählen Sie * aus 'Tablea' aus

Eine Lösung ist die von @Andreas, aber Sie haben das gleiche Problem in einer WHERE -Anweisung oder in einem Einfügen für andere Werte, die Sie nicht wie "Null" -Werte entkommen möchten. (in eine Zeichenfolge konvertieren)

Gleiches Problem hier

Probier das aus Quelle Wie Format und Flucht aus Node-Mysql funktionieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top