2013-05-14 6 views
2

Microsoft의이 페이지에서; http://msdn.microsoft.com/en-us/library/cc626305.aspx에서 배열을 올바르게 작성하는 방법을 보여줌으로써 paramaterized 쿼리를 사용하는 방법에 대한 예제를 제공합니다.이 NULLS는 무엇을 의미합니까?

$params1 = array(
       array($employeeId, null), 
       array($changeDate, null, null, SQLSRV_SQLTYPE_DATETIME), 
       array($rate, null, null, SQLSRV_SQLTYPE_MONEY), 
       array($payFrequency, null, null, SQLSRV_SQLTYPE_TINYINT) 
      ); 

내가 변수와 상수를 이해하지만, 그들이 널 (null)가 무엇인지를 설명하는 데 실패 : 다음 샘플 코드 중 일부이다. 때로는 그것들을 사용하고 때로는 두 가지가 있습니다.

variable, null, null, constant 

누군가가 나에게 이것을 설명, 또는 바로 이곳에 날 지점 수 있습니까? 이것에 대한 독서 자료를 찾을 수 없습니다.

감사합니다.

+0

뭔가 다른 것이 전달 될 것으로 예상되고 전달할 것이 없으면 대신 NULL을 전달합니까? – adeneo

+0

나는 왜 배열 사이에 params의 수가 다른지에 대한 질문이 있다고 생각한다. 내가 모르는 - 아마 SQL 서버와 관련이 있습니다. – sgroves

+1

아, 거기에 페이지 상단의 "$ params 배열의 구조와 구문에 대한 자세한 내용은 sqlsrv_query 또는 sqlsrv_prepare를 참조하십시오." – sgroves

답변

4

이것은 오버로드 된 함수를 호출하는 것과 유사합니다.

 array($employeeId, null) 

이 때때로 4 :이 기능에 널 배치

  array($rate, null, null, SQLSRV_SQLTYPE_MONEY) 

는 일반적으로 전화 통화 값을 의미 때때로 함수는이 개 매개 변수를 사용합니다. 이들로부터 호출 된 다른 쿼리/함수를 살펴보면 매개 변수가 다른 방식으로 사용되는 것을 볼 수 있습니다. 또한 함수에 전달 된 null은 선택적인 매개 변수라는 것을 암시하기 때문에 값 또는 null이없는 이유가됩니다.

+0

철저한 답장을 보내 주셔서 감사합니다. @sgroves가 위에서 언급했듯이, 페이지 상단의 링크를 방문하여 http://msdn.microsoft.com/en-us/library/cc296184.aspx로 연결됩니다. 그 여분의 반점이 운전자에게 어떤 방법으로 변수가 가고 있는지 알려주는 것처럼 보입니다. 그러나 이것은 여전히 ​​나에게 이해가 가지 않습니다. 설명하고 대답을 편집 할 수 있다면 확실히 받아 들일 것입니다. 시간 내 줘서 고마워! –