2016-09-23 3 views
0

Ich habe diese Codezeile, die das Ergebnis der Abfrage überprüft. Ich möchte einen Statusfehler haben, wenn eine der Spalten einen Wert = '0' enthält.Wie Status ERROR angezeigt wird, wenn SQL-Spalten Nullwert hat?

Wenn die Bedingung einen Nullwert gründet es wird Echo: Status: ERROR,

Status

PHP CODE:

<?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'; 
} 
?> 

Gibt es eine Möglichkeit, diese Art von Verfahren zu erreichen ? Vielen Dank.

Antwort

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'; 
    } 

versuchen, diese

+0

Uhm der Status Fehler sir angezeigt, wenn eine der Werte in Tabellenkopf enthält ein Wert Null. BEISPIEL: zweihundert: 0 dann Status: Fehler – user6717951

+0

Wie viele Spalte haben Sie? – theinarasu

+0

nur sieben Spalten sir – user6717951

0

mysqli_query() Rückgabewerte

Returns FALSE. Für erfolgreiche SELECT-, SHOW-, DESCRIBE- oder EXPLAIN-Abfragen gibt mysqli_query() ein mysqli_result-Objekt zurück. Für andere erfolgreiche Abfragen gibt mysqli_query() TRUE zurück.

Überprüfen Sie, ob empty($result->num_rows) - dann gibt es keine Daten.

+0

es ist nicht die Daten für den Status: Fehler Sir, es ist nur der Wert, wenn es einen Nullwert in einer beliebigen Tabellenspalten enthält, dann wird es Fehlerstatus angezeigt . – user6717951

0

versuchen Sie dies.

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

Sie sollten anstelle von PHP-Code Bedingung in der Abfrage überprüfen.

Ihre Abfrage wie unten Rewrite: -

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

ODER

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

prüfen diese Original Answer Link

Verwandte Themen