Rumah > pembangunan bahagian belakang > tutorial php > Mengapakah `mysqli_stmt::num_rows` Mengembalikan Sifar Secara Konsisten Selepas Menggunakan `prepare`, `bind_param`, `bind_result` dan `fetch`?

Mengapakah `mysqli_stmt::num_rows` Mengembalikan Sifar Secara Konsisten Selepas Menggunakan `prepare`, `bind_param`, `bind_result` dan `fetch`?

DDD
Lepaskan: 2024-12-08 05:43:09
asal
284 orang telah melayarinya

Why Does `mysqli_stmt::num_rows` Consistently Return Zero After Using `prepare`, `bind_param`, `bind_result`, and `fetch`?

mysqli num_rows Secara Konsisten Mengembalikan Sifar

Soalan:

Apabila menggunakan MySQLi's prepare, bind_param num_rows, bind_result, dan kaedah fetch untuk dapatkan baris daripada pangkalan data, mengapakah num_rows sentiasa mengembalikan 0?

Jawapan:

Penggunaan panggilan MySQLi yang salah. Untuk menyelesaikan isu ini, laksanakan langkah berikut sebelum mengambil bilangan baris:

$stmt->execute();
$stmt->store_result();
Salin selepas log masuk

Panggilan ke store_result() adalah penting untuk mysqli_stmt::num_rows berfungsi dengan betul.

Di sini ialah coretan kod yang disemak dengan panggilan store_result(). ditambah:

if ($stmt = $mysqli->prepare("SELECT id, title, visible, parent_id FROM content WHERE parent_id = ? ORDER BY page_order ASC;")) {
    $stmt->bind_param('s', $data->id);
    $stmt->execute();
    $stmt->store_result();
    $num_of_rows = $stmt->num_rows;
    $stmt->bind_result($child_id, $child_title, $child_visible, $child_parent);

    while ($stmt->fetch()) {
        // Code here
    }

    echo($num_of_rows);

    $stmt->close();
}
Salin selepas log masuk

Sila rujuk dokumentasi rasmi untuk mysqli_stmt::num_rows untuk butiran lanjut.

Atas ialah kandungan terperinci Mengapakah `mysqli_stmt::num_rows` Mengembalikan Sifar Secara Konsisten Selepas Menggunakan `prepare`, `bind_param`, `bind_result` dan `fetch`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan