Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Bindowanie w MySQLi
Forum PHP.pl > Forum > Przedszkole
Xart
Witam dotychczas swoje projekty wykonywałem trochę po staremu ;d tzn poprostu $mysqli->query i tyle oraz stosowałem stare zapytania z WHERE itd... nie ważne
Postanowiłem pisać lepiej smile.gif I zajrzałem do manuala i stwierdziłem, że mysqli_stmt class - to może być dobre no i ok czytam, czytam i znalazłem:

  1. if ($stmt = $mysqli->prepare("SELECT Code, Name FROM Country ORDER BY Name LIMIT 5")) {
  2. $stmt->execute();
  3.  
  4. /* bind variables to prepared statement */
  5. $stmt->bind_result($col1, $col2);
  6.  
  7. /* fetch values */
  8. while ($stmt->fetch()) {
  9. printf("%s %s\n", $col1, $col2);
  10. }
  11.  
  12. /* close statement */
  13. $stmt->close();
  14. }


nie rozumiem tego kawałka kodu $stmt->bind_result($col1, $col2); co to za bindowanie danych pobranych ? w jakim celu i skąd sie wzięły te 2 zmienne questionmark.gif

kolejna sprawa to $stmt->fetch() pobieram dane z bazy do tablicy no OK ale teraz wcześniej miałem np fetch_assoc albo fetch_array ablo fetch_all a tutaj tylko jedna opcja ?

Z głry thx za wyjaśnienie
PawelC
$col1 jest to Code, $col2 jest to Name czyli ten kod binduje zawartość kolumn smile.gif Gdybyś np chciał pobrać Code, Name i Surname to byś miał:
  1. $stmt->bind_result($col1, $col2, $col3);
a zapytanie wyglądało by tak
  1. SELECT Code, Name, Surname FROM Country

Swoją drogą zamiast mysqli, zainteresuj się PDO smile.gif
nospor
Cytat
kolejna sprawa to $stmt->fetch() pobieram dane z bazy do tablicy no OK ale teraz wcześniej miałem np fetch_assoc albo fetch_array ablo fetch_all a tutaj tylko jedna opcja ?


http://pl1.php.net/manual/en/mysqli-stmt.fetch.php
Cytat
Fetch the result from a prepared statement into the variables bound by mysqli_stmt_bind_result().

Czyli jesli uzywasz bind_result() to do odbioru danych masz uzywac fetch(). Nic dodac nic ujac.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.