Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]PDO a require
Forum PHP.pl > Forum > Przedszkole
Star
Witam

Temat moze troche dziwny ,jednak nie potrafie znalezc rozwiazania.

Po dluuuuuugiej przygodzie ze mysql_connect() postanowilem przeniesc sie na PDO. tak wiec na poczatek zmienilem sposob laczenia z baza danych :
  1. try
  2. {
  3. $db_pdo = new PDO("mysql:host={$_SESSION['db_host']};dbname={$_SESSION['db_name']}", "{$_SESSION['db_user']}", "{$_SESSION['db_password']}");
  4. }
  5. catch(PDOException $e)
  6. {
  7. echo 'Połączenie nie mogło zostać utworzone: ' . $e->getMessage();
  8. }


Sprawa bardzo prosta, wiec przeszedlem do wyciagniecia nazwy usera z tabeli:

  1. $query = "SELECT * FROM users ORDER BY nick ASC LIMIT 1";
  2. $query = $db_pdo->query($query);
  3. $result = $query->fetch(PDO::FETCH_BOTH);
  4. echo $result["nick"];


tu tez nie ma zadnego problemu, wszystko gra elegancko. Jednak problem jest taki ze funkcje do laczenia z baza danych chcialem miec w osobym pliku i gdy uzyje require do "wladowania" tej funkcji to pojawia sie blad: Undefined variable: db_pdo
oraz : all to a member function query() on null

ktos jest w stanie mi to wyjasnic ?
gorden
1. dlaczego dane logowania do bazy trzymasz w $_SESSION questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif? to jedna z najgłupszych rzeczy, jakie widziałem, nie rób tego biggrin.gif
2. twój problem to zasięg zmiennych. zadeklaruj $db_pdo poza try..catch albo całkiem to wywal. poczytaj o tym tu: http://php.net/manual/en/language.variables.scope.php
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.