2014-09-25 2 views
0

NULL을 MySQL을 사용하여 varchar 열에 삽입 할 수없는 이유는 무엇입니까?MySQL이 Varchar 열에 NULL 삽입

는 PHP :

if ($startSemester == "") { 
    $startSemester = 'NULL'; 
} 

mysqli_query($gradschool_application_2_connect, "INSERT INTO Application (startSemester) VALUES ('".$startSemester."')"); 

이 현재 코드 문자열 NULL 아닌 유형을 입력. 작은 따옴표를 제거하면 쿼리가 작동하지 않습니다. 이 하나의

+1

컬럼에 NULL 제약 조건이 있습니까? –

+0

그것은 VALUES ('NULL')이 아닌'VALUES (NULL)'이어야합니다. 준비된 성명서를 사용하는 것이 좋습니다. – VMai

+0

아마도 데이터베이스 필드가 null이 아닌 값으로 설정되어 있습니까? – Sebastien

답변

1

세미 속는 사람은 : MySQL Inserting NULL Value into INT Column

당신은 당신이 SQL NULL의 키워드입니다

... VALUES ('NULL') 

을 생산하고, 그래서 쿼리 내에서 NULL 문자열을 인용했습니다, 그리고 인용 할 수 없다

[..snip...]) VALUES ('".$startSemester."')"); 
        ^------------------^--- remove these quotes 

는 문자 N, U, L,를 포함하는 문자열로 바뀝니다 인용은 int 필드에 삽입 될 때 간단히 0으로 타입 변환됩니다.

+0

if'$ startSemester = "어떤 문자열";'? –

+2

그렇다면이 문제를 처리하는 것은 OP에 달려 있습니다. –

+1

정확히 Fred ... – Whoa

0

이 시도 :

mysqli_query($gradschool_application_2_connect, "INSERT INTO Application (startSemester) VALUES ($startSemester)"); 
+0

어떻게 이것이 문제를 해결합니까? –

관련 문제