2016-12-18 2 views
1

Ich bekomme ein paar Daten von MySQL, und ich drucke die Daten als echo $row['ref'];.Wie verwende ichset Bedingung für mysql Abfrage Ausgabe

Manchmal gibt echo $row['ref']; leeres Ergebnis zurück. Ich möchte eine Bedingung wie echo isset($row['ref']) ? $row['ref']:'Unknown'; schreiben, die Unknown Wort zeigt, wenn echo $row['ref']; leeres Ergebnis zurückgibt.

Vielen Dank im Voraus.

+1

Und was ist los mit der ISset ?: Code, den Sie erwähnt? – SOFe

+0

Aber es zeigt kein unbekanntes Wort –

+2

Verwenden Sie 'leer' statt 'isset' Die PHP-Funktion' leer' überprüft, ob die Variable existiert und nicht leer ist – Beginner

Antwort

1

Möglicherweise ist 'ref' als Array-Schlüssel vorhanden, hat aber null als Wert.

<?php $row = array('ref' => null); echo (!empty($row['ref'])) ? $row['ref'] : 'UnKnown'; ?>

+0

'??' ist nur für Nicht-Null. Es tut nicht, was 'empty()' tut. – SOFe

+0

reicht die 'leere' Funktion alleine aus – Beginner

0

Wenn isset nicht funktioniert, könnte es sein, dass Mysqli das Ergebnis als eine leere Zeichenfolge zurückgibt.

Sie können den ?: Operator für die schnellen if-falschen Rückfall verwenden:

echo $row["ref"] ?: "UnKnown"; 

See: How do I use shorthand if/else?

0

Versuchen ternären Operator wie folgt ......

$ref= $row["ref"] ?$row["ref"]: "UnKnown"; 
echo $ref; 
1

Wie Sie in Ihrem Szenario erwähnen,

isset($row['ref']) ? $row['ref']:'UnKnown'; 

Sie gab an, dass Sie einen leeren Wert erhalten sogar verwenden Sie isset, die $row['ref'] bedeuten existieren, aber es ist leer

Verwendung empty statt isset die PHP-Funktion empty überprüft, ob die Variable existiert und nicht leer

Dadurch wird verhindert, dass Sie mit einem leeren Wert für die Variable $ref

$ref= (!empty($row["ref"])) ?$row["ref"]: "UnKnown"; 

Demo