質問

node-mysqlを使用してnode.jsアプリがあり、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);
                });

他のヒント

彼らはそれが機能していない理由はかなり明確です。

非労働コードからのクエリは次のとおりです。

select * from 'tablea'

ソリューションは@Andreasの解決策ですが、「null」値のように逃げたくない他の値のステートメントまたは挿入で同じ問題があります。 (文字列に変換)

同じ問題 ここ

をチェックしてください ソース Node-Mysqlからの形式&&エスケープがどのように機能するか。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top