検索

ホームページ  >  に質問  >  本文

MySQL で LIMIT とプレースホルダーを使用する方法 (Node.JS)

<p>Node.js と MySQL を使用してプレースホルダーを含むクエリを実行しようとしています。ただし、LIMIT プレースホルダーは、その後の値に引用符を付けない必要があるため、機能しないようです。これが私のクエリです: </p> <pre class="brush:php;toolbar:false;">SELECT userName、クリック数 FROM ユーザー ORDER BY クリック数 DESC LIMIT ?</pre> <p>プレースホルダーを使用して希望の動作を取得するにはどうすればよいですか。これは可能ですか?以下は完全なコード ステートメントです。data.topUsersCount は整数値です。 <pre class="brush:php;toolbar:false;">con.query("SELECT userName, clicks FROM users ORDER BY clicks DESC LIMIT ?", [data.topUsersCount], (err, topUsersData) => { // データを処理します });</pre> <p>二重プレースホルダー「??」も使用してみましたが、どちらも機能しませんでした。 </p>
P粉416996828P粉416996828490日前645

全員に返信(1)返信します

  • P粉141925181

    P粉1419251812023-07-25 18:20:58

    コードでこれを処理する方法は次のとおりです:

    リーリー

    上記のコードでは、クエリ文字列に組み込む前に Number.isInteger(data.topUsersCount) を使用して data.topUsersCount が安全な整数かどうかを確認します。これは SQL インジェクション攻撃を防ぐために重要です。

    返事
    0
  • キャンセル返事