我有一个使用Node-mysql来查询mySQL数据库的Node.js应用程序。

问题: 看来,当我在查询中将表名为变量时,事情就会停止工作。我错过了什么吗?

工作节点代码

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的解决方案,但是您将在某些不希望像“ null”值逃脱的其他值的语句或插入的wery语句或插入中存在相同的问题。 (转换为字符串)

同样的问题 这里

查看 资源 格式&&从node-mysql逃脱的工作方式。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top