2014-01-07 3 views
5

내가 그렇지 않으면 내가mysqli bind_param의 NULL 유형은 무엇입니까? 그 변수가 존재하는 경우 MySQLi 문을 준비 INTO

 
type variable 
i corresponding variable has type integer 
d corresponding variable has type double 
s corresponding variable has type string 
b corresponding variable is a blob and will be sent in packets 

을 알고 있지만 내가 변수 = NULL을 삽입 할 때 내가의 유형을 정의하는 방법 null.Then를 삽입하는 INSERT에 PARAMS을 결합하는 것을 시도하고있다 변하기 쉬운? 아니면 형식을 정의해야합니까? 그래서 그냥 사용 Mysqli가 허용 된 데이터 유형 중 하나에 전달 null 값을 처리합니다 -

+0

null을 변수로 전달하고 string을 사용하면됩니다. – Ohgodwhy

+0

변수를 null로 설정하십시오 (예 :'$ var = null;'). –

+0

가능한 한 http://stackoverflow.com/questions/4920873/mysqli-prepared-statements-insert-null-using-bind-params –

답변

1

$var1 = null; 
+0

의 중복 코드는 $ var1 = null처럼 코딩해야합니다. $ insert_data-> bind_param ('s', $ var1); 또는 $ insert_data-> bind_param ('', $ var1); – JackSun

+0

이것은 질문에 대답하지 않습니다. – Mike

11

당신은 특정 데이터 유형에 null을 캐스팅 할 필요가 없습니다, null로 변수를 설정하고 그것을 통과 널이 아닌 값을 전달하는 경우 각 필드 유형이 있습니다.

$intVar = null; 
$doubleVar = null; 
$stringVar = null; 
$blobVar = null; 

$insert_data->bind_param('idsb', $intVar, $doubleVar, $stringVar, $blobVar); 

위의 내용은 모두 유효하며 Mysqli에서 허용 할 것입니다.