Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak używać bind_result() zamiast get_result() w php

Zakładając, że nie możesz użyć get_result() i potrzebujesz szeregu urządzeń, możesz zrobić:

public function getAllDevices($user_id) {
    $stmt = $this->conn->prepare("SELECT device_id, device_name, device_info FROM devices WHERE  primary_owner_id = ?");
    $stmt->bind_param("i", $user_id);
    $stmt->execute();
    $stmt->bind_result($id, $name, $info);
    $devices = array();

    while($stmt->fetch()) {
        $tmp = array();
        $tmp["id"] = $id;
        $tmp["name"] = $name;
        $tmp["info"] = $info;
        array_push($devices, $tmp);
    }
    $stmt->close();
    return $devices;
}

Tworzy to tymczasową tablicę i przechowuje w niej dane z każdego wiersza, a następnie przesyła je do głównej tablicy. O ile mi wiadomo, nie możesz użyć SELECT * w bind_result() . Zamiast tego będziesz musiał irytująco wpisywać wszystkie żądane pola po SELECT



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać jQuery do uruchamiania zapytań MySQL?

  2. Jak uzyskać wyraźny rekord z tabeli mysql?

  3. Jak usunąć znaki nowej linii z wierszy danych w mysql?

  4. Token Firebase FCM – kiedy wysłać na serwer?

  5. Nieznana kolumna w 'liście pól', gdy w podzapytaniu znajduje się symbol zastępczy przygotowanej instrukcji