>  Q&A  >  본문

Node.js의 MySQL 쿼리 콜백 함수에 매개변수를 전달하는 방법

<p>콜백에서 사용할 수 있도록 맞춤 데이터를 쿼리 호출에 전달하는 올바른 방법을 찾으려고 노력 중입니다. 저는 nodejs에서 MySQL 라이브러리(모든 최신 버전)를 사용하고 있습니다. </p> <p>connection.query(sql, function(err, result) {...});</p> 호출이 있습니다. <p>1) 콜백이 호출될 때 사용할 수 있도록 맞춤 데이터/매개변수를 호출에 전달하는 방법을 찾을 수 없습니다. 그렇다면 어떻게 하는 것이 옳은가요? </p> <p>다음과 같은 의사코드가 있습니다: </p> <pre class="brush:php;toolbar:false;">... for (SomeJSONArray의 ix) { sql = "someTable WHERE에서 (1) 선택 someColumn = " + SomeJSONArray[ix].id; Connection.query(sql, 함수(err, 결과) { ... var y = SomeJSONArray[ix].id; }; }</pre> <p>위 코드에서 쿼리에 사용된 "ix"의 현재 값을 콜백 자체에 전달할 수 있어야 합니다. </p> <p>어떻게 해야 하나요? </p>
P粉078945182P粉078945182424일 전613

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

  • P粉212971745

    P粉2129717452023-08-23 13:55:53

    초기 질문에 답하고 예를 들어보려면 수신 데이터가 포함된 "스냅샷" 범위를 즉시 생성하는 익명 함수로 콜백 함수를 래핑하세요.

    으아악

    이 개념을 막 배우는 저와 같은 사람들을 위해 마지막 })(ix));는 (function(ix){에 전달되는 외부 var ix=1의 값입니다. console.log("ix ="+abc);는 console.log("ix="+abc);로 변경된 다음 (function(abc){.

    로 이름을 바꿀 수 있습니다.

    fwiw(솔루션을 찾을 수 있도록 공백을 메워주고 링크를 제공한 Chris에게 감사드립니다)

    회신하다
    0
  • P粉476046165

    P粉4760461652023-08-23 11:39:22

    node-mysql을 사용하는 경우 설명서의 지침을 따르십시오.

    으아아아

    문자열을 올바르게 이스케이프하는 코드도 문서에 제공되어 있지만 쿼리 호출에서 배열을 사용하면 자동으로 이스케이프됩니다.

    https://github.com/felixge/node-mysql

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