如果sql列的值为零,如何显示Status ERROR?

时间:2016-09-23 07:16:28

标签: php

我有这行代码,用于检查查询结果。如果其中一列包含值=' 0',我想要一个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'; 
}
?>  

有没有办法实现这种方法?感谢。

4 个答案:

答案 0 :(得分: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'; 
  } 

试试这个

答案 1 :(得分:0)

mysqli_query()返回值

  

失败时返回FALSE。成功的SELECT,SHOW,DESCRIBE或   EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。对于   其他成功的查询mysqli_query()将返回TRUE。

检查是否empty($result->num_rows) - 然后没有数据。

答案 2 :(得分: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'; 
        }
    }
}

答案 3 :(得分:0)

您应该检查查询中的条件而不是PHP代码。

重写您的查询,如下所示: -

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

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

选中此Original Answer Link