2009-10-16 67 views
31

Đây là Bộ luật dưới đây:PHP Kiểm tra NULL

$query = mysql_query("SELECT * FROM tablex"); 

if ($result = mysql_fetch_array($query)){ 

    if ($result['column'] == NULL) { print "<input type='checkbox' />"; } 
    else { print "<input type='checkbox' checked />"; } 
} 

Nếu các giá trị là NOT NULL tôi vẫn nhận được hộp uncheked. Tôi đang làm điều gì đó sai từ trên cao, shoudnt $result['column'] == NULL có hoạt động không?

Bất kỳ ý tưởng nào?

+0

thực sự là mã của bạn phải không? bạn có lỗi mã hóa và có thể là tệp error_log –

+0

Im chỉ cần in hộp kiểm. Và nó được kiểm tra nếu giá trị không phải là null. Nó dosent dường như làm điều đó .. Hense nó luôn luôn đi vào đầu tiên nếu stat –

+0

mã được đăng là thiếu một paren quyền và một cú đúp phải và tôi nhận được xuống bình chọn cho đốm đó? * eyeroll * –

Trả lời

70

Sử dụng toán tử is_null hoặc ===.

is_null($result['column']) 

$result['column'] === NULL 
+3

Nvm .... Ima twonk .. Đã tìm ra: D ... Il đánh dấu của bạn là đã trả lời –

1

Tôi nghĩ rằng bạn muốn sử dụng

mysql_fetch_assoc($query) 

hơn

mysql_fetch_row($query) 

Lợi nhuận sau một chỉ số mảng bình thường bằng số nguyên, trong khi lợi nhuận cựu một mảng kết hợp, chỉ số của các tên trường.

+0

sry im sử dụng mysql_fetch_array() ... đặt sai một trong .. Chỉnh sửa bây giờ –

3

Hãy chắc chắn rằng giá trị của cột thực sự là NULL và không phải là một chuỗi rỗng hoặc 0.

+0

tôi đã có kết quả ở hai nơi ... Cuối của nó và bộ não của tôi được thổi lên .. Chính xác những gì tôi đã làm để con số nó ra: D –

+0

Đó là lý do tại sao câu trả lời của fernyb không phải là một giải pháp thích hợp hơn. –

4

Làm thế nào về việc sử dụng

if (empty($result['column']))

+0

Sử dụng hàm 'empty()' của PHP để lại quá nhiều chỗ cho việc giải thích (http://php.net/manual/en/function.empty.php) và là một giải pháp cụ thể về ngôn ngữ cho một kịch bản lập trình chung. Nếu anh ta sử dụng '===', anh ta sẽ có một giải pháp mà anh ta có thể sử dụng trong nhiều ngôn ngữ. –

-1

Đôi khi, khi tôi biết rằng tôi đang làm việc với những con số , Tôi sử dụng logic này (if result is not greater than zero):

if (!$result['column']>0){ 

}