>  Q&A  >  본문

MySQL(Node.JS)에서 LIMIT 및 자리 표시자를 사용하는 방법

<p>Node.js와 MySQL을 사용하여 자리 표시자로 쿼리를 실행하려고 합니다. 그러나 LIMIT 자리 표시자는 그 뒤의 값에 따옴표가 없어야 하기 때문에 작동하지 않는 것 같습니다. 내 검색어는 다음과 같습니다. </p> <pre class="brush:php;toolbar:false;">사용자 이름 선택, FROM 사용자 클릭 ORDER BY DESC LIMIT 클릭 ?</pre> <p>자리 표시자를 사용하여 필요한 동작을 얻으려면 어떻게 해야 합니까? 이것이 가능합니까? 다음은 data.topUsersCount가 정수 값인 전체 코드 설명입니다. </p> <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粉416996828425일 전570

모든 응답(1)나는 대답할 것이다

  • P粉141925181

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

    코드에서 이를 처리하는 방법은 다음과 같습니다.

    으아악

    위 코드에서 Number.isInteger(data.topUsersCount)를 사용하여 data.topUsersCount가 쿼리 문자열에 통합되기 전에 안전한 정수인지 확인하세요. 이는 SQL 주입 공격을 방지하는 데 중요합니다.

    회신하다
    0
  • 취소회신하다