2017-12-31 35 views
0

node.jsのutilモジュールを使用して文字列をフォーマットしています。だから私が何をしようとしています私はそののqueryStringをフォーマットし、最終的には、サーバアプリケーションを介してクエリを実行したqueryStringを作成した、あるノードjsでutil.format()を使用してmysql prepared文の整数を解析できません

select * from something LIMIT 5 OFFSET 0; 

- 私がしたいときしかし、私は次のようにSQLクエリを実行してキャッチしました。私も引用符で引用符なしで、iと%sの%を試してみましたが、何も私のために働いていない

queryString = "select * from something LIMIT '%d' OFFSET '%d'"; 
query = util.format(queryString, 5, 0); 
res = db.executeQuery(query); 

:ここでnodejsのコードがあります。 ログは次のとおりです。

Error: ER_PARSE_ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%i OFFSET %i' at line 1 

私はここに何か不足していると確信しています。事前

答えて

0

のおかげであなたを仮定すると、使用しているmysqlモジュール

他の方法があります。

var limit = 5; 
var offset = 0; 
var qs = `select * from something LIMIT ${limit} OFFSET ${offset}`; 

または

connection.query('select * from something LIMIT ? OFFSET ?', [limit, offset], function (error, results, fields) { 
    ... 
}); 

または

var sql = mysql.format('select * from something LIMIT ? OFFSET ?', [limit, offset]); 

は、

+0

はい私はそれが上記の方法で動作することを知っています。しかし、utilモジュールを使いたい。とにかく、私はutilモジュールがこのキャッチを持っていると思います。だから私は他の方法だけを使わなければならない。 –

関連する問題