Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]PDO a require
Star
post
Post #1





Grupa: Zarejestrowani
Postów: 294
Pomógł: 34
Dołączył: 16.02.2015

Ostrzeżenie: (0%)
-----


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 ?
Go to the top of the page
+Quote Post
gorden
post
Post #2





Grupa: Zarejestrowani
Postów: 486
Pomógł: 101
Dołączył: 27.06.2010

Ostrzeżenie: (0%)
-----


1. dlaczego dane logowania do bazy trzymasz w $_SESSION (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) (IMG:style_emoticons/default/questionmark.gif) ? to jedna z najgłupszych rzeczy, jakie widziałem, nie rób tego (IMG:style_emoticons/default/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
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 14:52