Strona główna >PHP >Leksykon PHP – funkcje >mysqli_stmt_bind_result

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()