2013-01-17 3 views
0

나는 클라이언트와 상호 작용하고 그들에 의해 보내진 데이터를 mysql 데이터베이스에 저장하기 위해 node.js를 사용하여 HTTP 서버를 작성하고있다. 나는 node-mysql 모듈을 사용하여 데이터베이스와 상호 작용한다. 내 코드에서 조각은 다음과 같은 :노드 - mysql 배열 이스케이프가 첫 번째 요소 만 반환하고 있습니까?

mysql_conn.query('INSERT INTO systems VALUES (?)', [system.ClientID, 
    system.Application, system['System Information']], function(err, result) { 
    if (err) { 
     cb(err, res); 
    } else { 
     resData = {Status : 'Success'}; 
     cb(null, res, resData); 
    } 
}); 

결과 쿼리는 다음과 같습니다 : I 쿼리에 세 가지 요소를 가진 배열을 전달하지만, 단 하나의 쇼까지하고있어

INSERT INTO systems VALUES ('ED1758FD-1ED7-4907-A4FF-BCA41830124A') 

. 설명서 내용 :

배열이 목록으로 바뀝니다. [ 'a', 'b'] 'a', 'b'로 변합니다.

잘못된 것이 있습니까? 나는 아주 새로운 자바 스크립트입니다. 있다면 무지를 용인하십시오.

답변

1

변수가 3 개인 경우 3이되어야합니까? 즉, SQL 쿼리는 다음과 같아야합니다. INSERT INTO systems VALUES (?, ?,?) 주문에 대해 잘 모르겠 으면 주문을 지정하려면 INSERT INTO systems(field1, field2, field3) VALUES (?, ?,?)과 같이 검색어를 변경해야합니다. 여기서 필드는 테이블의 실제 입력란입니다. MySQL.

+0

은 매력처럼 작동합니다. 문서에서 이것을 보지 못했습니다. 내가 생각 하나? 하나의 배열로 대체됩니다. 감사합니다 :) – anni

+0

네, 같은 양의 변수를 제공해야합니까? – Mustafa

관련 문제