mysqli_stmt_bind_result
mysqli_stmt_bind_result($stmt, &$var, …)
Wiąże kolumny wyniku ze zmiennymi, w kolejności kolumn w SELECT. Każde wywołanie mysqli_stmt_fetch() zapisuje potem do zmiennych następny wiersz. To starszy sposób czytania wyników, który nie potrzebuje sterownika mysqlnd. Zwraca true.
Parametry
- $stmt – wykonane zapytanie przygotowane.
- &$var, … – jedna zmienna na kolumnę wyniku.
Przykłady
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$db = mysqli_connect("localhost", "user", "password", "shop");
mysqli_set_charset($db, "utf8mb4");
$stmt = mysqli_prepare($db, "SELECT name, price FROM products WHERE stock > ? ORDER BY id");
$min = 0;
mysqli_stmt_bind_param($stmt, "i", $min);
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $name, $price);
while (mysqli_stmt_fetch($stmt)) {
echo $name . " – " . $price . " CZK\n"; // Razowiec na zakwasie – 89.00 CZK\nBułka – 3.00 CZK\n
}
Na co uważać
- Liczba zmiennych musi dokładnie odpowiadać liczbie kolumn –
SELECT *się więc nie nadaje. - Zwykle wygodniejsze jest
mysqli_stmt_get_result(), które zwraca wiersze jako tablice.
Powiązane funkcje:
mysqli_stmt_fetch()
mysqli_stmt_get_result()
mysqli_stmt_execute()
mysqli_prepare()