Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah anda mendapatkan beberapa set hasil daripada prosedur tersimpan dalam PHP/mysqli?

Bagaimanakah anda mendapatkan beberapa set hasil daripada prosedur tersimpan dalam PHP/mysqli?

DDD
DDDasal
2024-11-01 18:45:02875semak imbas

How do you retrieve multiple result sets from a stored procedure in PHP/mysqli?

Mendapatkan Berbilang Set Hasil dengan Prosedur Tersimpan dalam PHP/mysqli

Dalam PHP/MySQLi, melaksanakan prosedur tersimpan dengan berbilang set hasil memerlukan berhati-hati pengendalian. Untuk maju ke set hasil kedua selepas melaksanakan prosedur tersimpan, anda mesti:

  1. Guna mysqli_stmt_execute: Laksanakan prosedur tersimpan menggunakan mysqli_stmt_execute.
  2. Ambil set hasil pertama:
  3. Panggil mysqli_stmt_get_result untuk mendapatkan set hasil pertama dan baca datanya menggunakan fetch_assoc, fetch_array atau fetch_row.
  4. Alih ke set hasil seterusnya:
  5. Selepas membaca set hasil pertama, panggil mysqli_stmt_next_result untuk beralih ke set hasil seterusnya.
  6. Ambil set hasil kedua:
  7. Panggil mysqli_stmt_get_result sekali lagi untuk mendapatkan set hasil kedua dan baca datanya.

Berikut ialah contoh kod menggunakan PHP/MySQLi:
<code class="php">$stmt = mysqli_prepare($db, 'CALL multiples(?, ?)');
mysqli_stmt_bind_param($stmt, 'ii', $param1, $param2);
mysqli_stmt_execute($stmt);

// Fetch the first result set
$result1 = mysqli_stmt_get_result($stmt);
while ($row = $result1->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

// Move to the second result set
mysqli_stmt_next_result($stmt);
$result2 = mysqli_stmt_get_result($stmt);
while ($row = $result2->fetch_assoc()) {
    printf("%d\n", $row['id']);
}

mysqli_stmt_close($stmt);</code>

Kod ini berjaya mendapatkan dan mencetak data daripada kedua-dua set hasil dalam prosedur tersimpan yang ditentukan.

Atas ialah kandungan terperinci Bagaimanakah anda mendapatkan beberapa set hasil daripada prosedur tersimpan dalam PHP/mysqli?. 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