Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menentukan sama ada hasil pertanyaan kosong dalam php

Bagaimana untuk menentukan sama ada hasil pertanyaan kosong dalam php

PHPz
PHPzasal
2023-04-23 17:48:351461semak imbas

Dalam PHP, kita selalunya perlu menanyakan pangkalan data dan mendapatkan hasil pertanyaan. Semasa proses ini, kadangkala hasil pertanyaan mungkin kosong (iaitu, tiada rekod yang memenuhi syarat pertanyaan Pada masa ini, kita perlu menilai hasil pertanyaan untuk pemprosesan seterusnya).

Jadi bagaimana untuk menentukan sama ada hasil pertanyaan kosong dalam PHP? Mari jelaskan secara terperinci di bawah.

  1. Menggunakan fungsi mysqli_num_rows

Fungsi mysqli_num_rows ialah fungsi dalam PHP yang digunakan untuk mendapatkan bilangan baris dalam hasil pertanyaan. Fungsi ini mengembalikan 0 apabila hasil pertanyaan kosong. Oleh itu, kita boleh menggunakan fungsi mysqli_num_rows untuk menentukan sama ada hasil pertanyaan kosong.

Kod contoh:

// 连接数据库
$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);

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data, dan kemudian melaksanakan pernyataan pertanyaan untuk menanyakan pengguna bernama "Zhang San". Seterusnya, kami menggunakan fungsi mysqli_num_rows untuk mendapatkan bilangan baris dalam hasil pertanyaan dan menentukan sama ada ia adalah 0. Jika 0, ini bermakna hasil pertanyaan kosong, jika tidak, kita boleh menggunakan gelung while untuk merentasi keputusan pertanyaan dan melakukan pemprosesan seterusnya.

  1. Gunakan fungsi kosong

Fungsi kosong ialah fungsi yang biasa digunakan dalam PHP, yang digunakan untuk menentukan sama ada pembolehubah kosong. Apabila hasil pertanyaan kosong, kita boleh menggunakan fungsi kosong untuk menilai.

Kod contoh:

// 连接数据库
$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);

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data, dan kemudian melaksanakan pernyataan pertanyaan untuk menanyakan pengguna bernama "Zhang San". Seterusnya, kami menggunakan fungsi mysqli_fetch_assoc untuk mendapatkan rekod pertama hasil pertanyaan, dan menyampaikannya sebagai parameter kepada fungsi kosong untuk penghakiman. Jika nilai pulangan adalah benar, ini bermakna hasil pertanyaan adalah kosong, jika tidak, kita boleh menggunakan gelung while untuk melintasi keputusan pertanyaan dan melakukan pemprosesan seterusnya.

  1. Gunakan fungsi is_null

Fungsi is_null ialah fungsi dalam PHP yang digunakan untuk menentukan sama ada sesuatu nilai itu nol. Apabila hasil pertanyaan kosong, kita juga boleh menggunakan fungsi is_null untuk menilai.

Kod contoh:

// 连接数据库
$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);

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data, dan kemudian melaksanakan pernyataan pertanyaan untuk menanyakan pengguna bernama "Zhang San". Seterusnya, kami menggunakan fungsi mysqli_fetch_assoc untuk mendapatkan rekod pertama hasil pertanyaan, dan hantarkannya sebagai parameter kepada fungsi is_null untuk pertimbangan. Jika nilai pulangan adalah benar, ini bermakna hasil pertanyaan adalah kosong, jika tidak, kita boleh menggunakan gelung while untuk melintasi keputusan pertanyaan dan melakukan pemprosesan seterusnya.

Ringkasan

Dalam PHP, kita boleh menggunakan fungsi mysqli_num_rows, fungsi kosong atau fungsi is_null untuk menentukan sama ada hasil pertanyaan kosong. Setiap kaedah ini mempunyai kelebihan dan kekurangan, dan anda perlu memilih kaedah yang sesuai dengan anda mengikut senario perniagaan tertentu.

Tidak kira kaedah yang digunakan, kita harus memberi perhatian kepada pembukaan dan penutupan sambungan pangkalan data untuk mengelakkan masalah seperti kebocoran sumber. Selain itu, apabila hasil pertanyaan kosong, kami juga boleh menggesa pengguna untuk melakukan operasi yang berkaitan untuk meningkatkan pengalaman pengguna.

Atas ialah kandungan terperinci Bagaimana untuk menentukan sama ada hasil pertanyaan kosong dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn