Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Czy to dobre zapytanie
Forum PHP.pl > Forum > Przedszkole
-armind-
Witam, chciał bym się zapytać czy to dobre zapytanie ejst, i czy cały ten skrypt jest dobrze skonstruowany. Uzywam codeigniter. tak więc to moje początki.
Potrzebuje z tego zapytania wyciągnąć dane z tabel: users i role, tak wiec dlatego używam JOIN

  1. public function login($login, $pass)
  2. {
  3. $query = $this->db->query("SELECT * FROM users LEFT JOIN role ON role.user_id = users.id WHERE login='$login' AND pass='$pass'");
  4. foreach ($query->result() as $row)
  5. {
  6. return $data = array('id' => $row->id, 'name' => $row->name, 'admin' => $row->admin);
  7. }
  8. }



Wczesniej doradzono mi zebym uzył tego kawałka kodu:

  1. return $this->db->select('*')->from('users')->join('role', 'user_id=users.id')->where(array('login' => $login, 'pass' => $pass))->get()->row_array();


No ale niestety, tylko jeden user może się zalogować.
Turson
  1. public function login($login, $pass)
  2. {
  3. $query = $this->db->query("SELECT * FROM users LEFT JOIN role ON role.user_id = users.id WHERE login='$login' AND pass='$pass'");
  4. foreach ($query->result() as $row)
  5. {
  6. return $data = array('id' => $row->id, 'name' => $row->name, 'admin' => $row->admin);
  7. }
  8. }

Przecież tylko jeden użytkownik może mieć login i hasło pasujące do wzorca w warunku, więc foreach jest niepotrzebny.

Cytat
Wczesniej doradzono mi zebym uzył tego kawałka kodu:

Myślę, że dobrze doradzono, bo to frameworkowy sposób zapytania.

Cytat
No ale niestety, tylko jeden user może się zalogować.

Jak jeden questionmark.gif
-armind-
Jeden uzytkownik moze się zalogować, inni userzy się nie zalogują - "Niewłaściwe dane".

Jak by tu wytłumaczyć...chodzi mi że pierwszy user z id np 40 się zaloguje a reszta id ma problem z logowaniem bo nie idzie się zalogować
-armind-
Odświeżam. prosze o pomoc.
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.