我有这行代码,它检查查询结果。我想有一个状态错误,如果其中一列包含一个值= '0'。
如果条件找到一个零值,它将回显:Status: ERROR,
状态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';
}
?>
有办法实现这种方法吗?谢谢。
mysqli_query()返回值
失败时返回FALSE。对于成功的SELECT, SHOW, DESCRIBE或EXPLAIN查询mysqli_query()将返回一个mysqli_result对象。为其他成功的查询mysqli_query()将返回TRUE。
检查empty($result->num_rows)
-是否有数据
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';
}
try this
试试这个
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';
}
}
}
你应该在你的查询而不是PHP代码检查条件。
重写你的查询如下:-
SELECT * FROM table WHERE NOT columnA = 0 OR NOT columnB = 0;
或
SELECT * FROM table WHERE columnA != 0 OR columnB != 0;
查看此原始答案链接