Вопрос

У меня есть приложение Node.js, использующее Node-Mysql для запроса базы данных MySQL.

Проблема: Похоже, что когда я делаю имя таблицы в запросе переменной, все перестает работать. Я что -то упустил?

Код рабочего узла

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

Неработающий код узла

client.query('SELECT * from ?',
                [ tableA ],
                function(error, results, fields) {
                    if (error)
                        throw error;
                    callback(results);
                });
Это было полезно?

Решение

Вы, вероятно, можете просто добавить имя таблицы к строке (псевдо -код, я не знаю node.js)

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

Другие советы

Они разбираются, почему это не работает, довольно ясно.

Запрос из неработающего кода будет:

Выберите * из 'tablea'

Решение - это то, что от @AndReas, но у вас будет та же проблема в операторе, где или вставка для других значений, которые вы не хотите избежать, как «нулевое» значение. (преобразовать в строку)

Та же проблема здесь

Проверьте источник Как работает формат и побег из узла Mysql.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top