Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PDO] połączenie z bazą za pomocą config.php
Forum PHP.pl > Forum > Przedszkole
Zielonkawy18
Witam

Gdy używałem w pliku config.php poleceń z rodziny mysql ( przestarzała ) mogłem się łączyć bez problemu, ale gdy korzystam z biblioteki programistycznej PDO:

  1. <?php session_start();
  2. $connection = new PDO('mysql:host=mysql.xxx.pl;dbname=xxxx', 'xxxx', 'xxxxxx');
  3. ?>


Niestety nie chce mnie połączyć, czego brakuje tutaj?? Rozumiem, że tutaj jest stworzona instancja pewnej klasy więc muszę wykonać jeszcze jakieś zapytanie??
  1. $execute=$connection->query($my_query);


questionmark.gif
CuteOne
  1.  
  2. try {
  3. $connection = new PDO('mysql:host=mysql.xxx.pl;dbname=xxxx', 'xxxx', 'xxxxxx');
  4. }
  5. catch(PDOException $e) {
  6.  
  7. echo $e->getMessage();
  8. }


ps. włącz raportowanie błędów
Zielonkawy18
Logowanie już przeszło, ale teraz funkcja, która sprawdza uprawnienia:

  1.  
  2. function checkChmod($actuallyLogin)
  3. {
  4. $query = "SELECT chmod FROM admins WHERE login='$actuallyLogin'";
  5. $execute = $connection->query($query);
  6. $result=$execute->fetch();
  7. if($result['chmod']==777) return true;
  8. else return false;
  9. }


Nie działa, po włączeniu obsługi wszystkich błędów i załączeniu do owej strony ( config.php ) mam oto to:

Notice: Undefined variable: connection in /virtual/hosting/moja_strona.php on line 80

Fatal error: Call to a member function query() on a non-object in /virtual/dhosting/moja_strona.php on line 80

generalnie wiem o co tutaj chodzi aczkolwiek nie wiem czemu nie wykrywa zmiennej $connection, która jest zdeklarowana w pliku config.php
nospor
Cytat
generalnie wiem o co tutaj chodzi aczkolwiek nie wiem czemu nie wykrywa zmiennej $connection, która jest zdeklarowana w pliku config.php
Zasięg zmiennych
http://pl1.php.net/manual/pl/language.variables.scope.php
Zielonkawy18
dodałem w pliku config.php aby zmienna connection była globalna ale to nic nie dało.
nospor
W linku do którego cię odesłałem masz wszystko jasno napisane. GLOBAL ma być gdzieś jeszcze...... Masz tam nawet przyłady.... czemu wy nie czytacie co dostajecie?
Zielonkawy18
Do każdej funkcji także dodałem global $connection ( czytałem smile.gif ) ale popełniłem literówkę i stąd drugi bezsensowny post smile.gif działa po poprawce.
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.