Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PDO / MySQL - Wyświetlanie tylko jednego rekordu
Forum PHP.pl > Forum > Bazy danych > MySQL
maly_pirat
Cześć, używam klasy obsługi bazy od skryptu MyBB dla PDO, zobacz źródło klasy.
Tworze nowe połączenie z bazą:
  1. $db = new dbpdoEngine($config['database']['host'], $config['database']['dname'], $config['database']['user'], $config['database']['pwd']);


Wszystko jest OK, połączenie jest nawiązane, teraz przystępuje do pobrania ustawień mojej witryny:
  1. try
  2. {
  3. $q_settings = $db->query("SELECT c.* FROM ".SETTINGS_TABLE." AS c");
  4. $q_row = $db->fetch_array($q_settings);
  5.  
  6. $q_settings->closeCursor();
  7. unset($q_settings);
  8. }
  9. catch(PDOException $exception)
  10. {
  11. exit('Could not get page settings: '.$exception->getMessage());
  12. }


Struktura dla SETTINGS_TABLE:
  1. CREATE TABLE IF NOT EXISTS `fuck_settings` (
  2. `conf_name` varchar(255) NOT NULL DEFAULT '',
  3. `conf_value` text,
  4. PRIMARY KEY (`conf_name`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=utf8;


Są dwie wartości w bazie:
Kod
sitename - 'Nazwa mojej witryny'
siteurl - 'Adres URL strony'


A zapytanie SQL zwraca mi tylko JEDEN rekord, oczywiście print_r / var_dump nie wyświetla drugiego rekordu, cały czas tylko ten jeden. Poza tym zamiast używać $q_row['sitename'] muszę wpisywać [b]$q_row[1] - Dlaczego?

W czym problem leży, że pobiera mi tylko jeden rekord?
nospor
fetch_array() zazwyczaj sluzy do pobrania tylko jednego rekordu. Jak chcesz pobrac wszystkie to musisz fetch_array() wykonac w petli.

Tu masz przykłady dla zwyklego mysql_
http://pl2.php.net/manual/pl/function.mysql-fetch-array.php
Nie podaję dla twojej klasy bo nie wiem jak działa a kodu nie chce mi się przeglądać.
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.