Heim  >  Artikel  >  Backend-Entwicklung  >  So ermitteln Sie, ob das Abfrageergebnis in PHP leer ist

So ermitteln Sie, ob das Abfrageergebnis in PHP leer ist

PHPz
PHPzOriginal
2023-04-23 17:48:351381Durchsuche

In PHP müssen wir häufig die Datenbank abfragen und die Abfrageergebnisse erhalten. Während dieses Prozesses kann es vorkommen, dass die Abfrageergebnisse leer sind (d. h. es gibt keine Datensätze, die die Abfragebedingungen erfüllen). Zu diesem Zeitpunkt müssen wir die Abfrageergebnisse für die nachfolgende Verarbeitung beurteilen.

Wie kann man also feststellen, ob das Abfrageergebnis in PHP leer ist? Lassen Sie es uns weiter unten im Detail erklären.

  1. Verwenden Sie die Funktion mysqli_num_rows.

Die Funktion mysqli_num_rows ist eine Funktion in PHP, mit der die Anzahl der Zeilen im Abfrageergebnis ermittelt wird. Diese Funktion gibt 0 zurück, wenn das Abfrageergebnis leer ist. Daher können wir die Funktion mysqli_num_rows verwenden, um festzustellen, ob das Abfrageergebnis leer ist.

Beispielcode:

// 连接数据库
$conn = mysqli_connect('localhost', 'root', '123456', 'test');

// 查询结果
$result = mysqli_query($conn, "SELECT * FROM users WHERE name = '张三'");

// 判断查询结果是否为空
if(mysqli_num_rows($result) == 0) {
    echo '查询结果为空';
} else {
    // 处理查询结果
    while($row = mysqli_fetch_assoc($result)) {
        // ...
    }
}

// 关闭数据库连接
mysqli_close($conn);

Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und führen dann eine Abfrageanweisung aus, um den Benutzer namens „Zhang San“ abzufragen. Als nächstes verwenden wir die Funktion mysqli_num_rows, um die Anzahl der Zeilen im Abfrageergebnis abzurufen und festzustellen, ob sie 0 ist. Wenn es 0 ist, bedeutet dies, dass das Abfrageergebnis leer ist. Andernfalls können wir die While-Schleife verwenden, um die Abfrageergebnisse zu durchlaufen und eine anschließende Verarbeitung durchzuführen.

  1. Leere Funktion verwenden

Die leere Funktion ist eine häufig verwendete Funktion in PHP, mit der ermittelt wird, ob eine Variable leer ist. Wenn das Abfrageergebnis leer ist, können wir die leere Funktion zur Beurteilung verwenden.

Beispielcode:

// 连接数据库
$conn = mysqli_connect('localhost', 'root', '123456', 'test');

// 查询结果
$result = mysqli_query($conn, "SELECT * FROM users WHERE name = '张三'");

// 判断查询结果是否为空
if(empty(mysqli_fetch_assoc($result))) {
    echo '查询结果为空';
} else {
    // 处理查询结果
    mysqli_data_seek($result, 0); // 将结果指针重置到第一条记录
    while($row = mysqli_fetch_assoc($result)) {
        // ...
    }
}

// 关闭数据库连接
mysqli_close($conn);

Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und führen dann eine Abfrageanweisung aus, um den Benutzer namens „Zhang San“ abzufragen. Als Nächstes verwenden wir die Funktion mysqli_fetch_assoc, um den ersten Datensatz des Abfrageergebnisses abzurufen, und übergeben ihn als Parameter zur Beurteilung an die leere Funktion. Wenn der Rückgabewert wahr ist, bedeutet dies, dass das Abfrageergebnis leer ist. Andernfalls können wir die While-Schleife verwenden, um die Abfrageergebnisse zu durchlaufen und eine anschließende Verarbeitung durchzuführen.

  1. Verwenden Sie die Funktion is_null.

Die Funktion is_null ist eine Funktion in PHP, mit der ermittelt wird, ob ein Wert null ist. Wenn das Abfrageergebnis leer ist, können wir zur Beurteilung auch die Funktion is_null verwenden.

Beispielcode:

// 连接数据库
$conn = mysqli_connect('localhost', 'root', '123456', 'test');

// 查询结果
$result = mysqli_query($conn, "SELECT * FROM users WHERE name = '张三'");

// 判断查询结果是否为空
if(is_null(mysqli_fetch_assoc($result))) {
    echo '查询结果为空';
} else {
    // 处理查询结果
    mysqli_data_seek($result, 0); // 将结果指针重置到第一条记录
    while($row = mysqli_fetch_assoc($result)) {
        // ...
    }
}

// 关闭数据库连接
mysqli_close($conn);

Im obigen Code stellen wir zunächst eine Verbindung zur Datenbank her und führen dann eine Abfrageanweisung aus, um den Benutzer namens „Zhang San“ abzufragen. Als Nächstes verwenden wir die Funktion mysqli_fetch_assoc, um den ersten Datensatz des Abfrageergebnisses abzurufen, und übergeben ihn als Parameter zur Beurteilung an die Funktion is_null. Wenn der Rückgabewert wahr ist, bedeutet dies, dass das Abfrageergebnis leer ist. Andernfalls können wir die While-Schleife verwenden, um die Abfrageergebnisse zu durchlaufen und eine anschließende Verarbeitung durchzuführen.

Zusammenfassung

In PHP können wir die Funktion mysqli_num_rows, die Funktion empty oder die Funktion is_null verwenden, um festzustellen, ob das Abfrageergebnis leer ist. Jede dieser Methoden hat Vor- und Nachteile, und Sie müssen entsprechend dem spezifischen Geschäftsszenario die Methode auswählen, die für Sie am besten geeignet ist.

Egal welche Methode verwendet wird, wir sollten auf das Öffnen und Schließen der Datenbankverbindung achten, um Probleme wie Ressourcenlecks zu vermeiden. Wenn das Abfrageergebnis leer ist, können wir den Benutzer außerdem dazu auffordern, relevante Vorgänge auszuführen, um die Benutzererfahrung zu verbessern.

Das obige ist der detaillierte Inhalt vonSo ermitteln Sie, ob das Abfrageergebnis in PHP leer ist. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn