2016-09-23 56 views
0

我有這行代碼,它檢查查詢的結果。如果其中一列包含值='0',我想要有一個STATUS ERROR。如果sql列的值爲零,如何顯示Status ERROR?

如果條件創立一個零值,它會響應:狀態:錯誤,

Status

PHP代碼

<?php 
$query = "SELECT * FROM `inventorybill_tbl`"; 
$result = mysqli_query($link, $query) or die("Failed".mysqli_error()); 

//Here it will check the result if there is a value contains zero             
if (empty($result)) { 
echo 'Status: ERROR'; 
} else { 
echo 'Status: OK'; 
} 
?> 

有沒有辦法實現這種方法?謝謝。

回答

0
bool zeroExist = false; 
    $finfo = $result->fetch_fields(); 
    foreach ($finfo as $val) 
    { 
    while($row = $result->fetch_assoc()) 
    { 
     if ($row[$val->name] === 0) 
     { 
     zeroExist = true; 
     break; 
     } 
    } 
    if(zeroExist){ 
     break; 
    } 
    } 

    if (!zeroExist){ 
    echo 'Status: OK'; 
    }else { 
    echo 'Status: ERROR'; 
    } 

試試這個

+0

嚴正狀態顯示出錯先生,如果在表頭的任何值包含零值。示例:twohundred:0 then status:錯誤 – user6717951

+0

您有多少列? – theinarasu

+0

只是七列先生 – user6717951

0

mysqli_query()返回值

失敗時返回FALSE。對於成功的SELECT,SHOW,DESCRIBE或 EXPLAIN查詢,mysqli_query()將返回一個mysqli_result對象。對於 其他成功的查詢mysqli_query()將返回TRUE。

檢查empty($result->num_rows) - 那麼沒有數據。

+0

其不是狀態的數據:錯誤先生,它只是值,如果它在任何表列中包含零值,那麼它會顯示錯誤狀態。 – user6717951

0

試試這個。

if ($result->num_rows > 0) { 
    while ($row = mysqli_fetch_assoc($result)) { 
     //$row["your column name"] 
     if (empty($row["twohundred"]) || $row["twohundred"]=='0' || $row["twohundred"]==0) { 
      echo 'Status: ERROR'; 
     } else { 
      echo 'Status: OK'; 
     } 
    } 
} 
0

您應該在查詢中檢查條件而不是PHP代碼。

如下重寫查詢: -

SELECT * FROM table WHERE NOT columnA = 0 OR NOT columnB = 0; 

OR

SELECT * FROM table WHERE columnA != 0 OR columnB != 0; 

入住這Original Answer Link

相關問題