Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [KOHANA] Problem z połączeniem z bazą danych
Forum PHP.pl > Forum > PHP > Frameworki
wiciu010
Mam pliki:

modules/database/config/database.php

i tutaj skonfigurowałem połączenie PDO:

  1. 'dsn' => 'mysql:host=localhost;dbname=nazwaBazy',
  2. 'username' => 'login_bazy',
  3. 'password' => 'haslo',
  4. 'persistent' => FALSE,


Następnie mam plik application/classes/model/config.php

  1. <?php defined('SYSPATH') or die('No direct script access.');
  2.  
  3. class Model_Config extends ORM {
  4.  
  5. public function action_index()
  6. {
  7.  
  8. }
  9.  
  10. }


oraz kontroler application/classes/controller/home.php

  1. <?php defined('SYSPATH') or die('No direct script access.');
  2.  
  3. class Controller_Home extends Controller_Site
  4. {
  5. public function action_index()
  6. {
  7. $config = ORM::factory('config');
  8. $this->template->content = 'jakiś tekst';
  9. }
  10.  
  11. }


Niestety po wpisaniu adresu w przeglądarce wywala błąd

ErrorException [ Warning ]: mysql_connect() [function.mysql-connect]: Access denied for user 'login'@'localhost' (using password: NIE)
  1. MODPATH/database/classes/kohana/database/mysql.php [ 56 ]
  2. 51 try
  3. 52 {
  4. 53 if (empty($persistent))
  5. 54 {
  6. 55 // Create a connection and force it to be a new link
  7. 56 $this->_connection = mysql_connect($hostname, $username, $password, TRUE);
  8. 57 }
  9. 58 else
  10. 59 {
  11. 60 // Create a persistent connection
  12. 61 $this->_connection = mysql_pconnect($hostname, $username, $password);


W czym jest błąd ?

// edit: Temat do zamknięcia / usunięcia, ponieważ problem został rozwiązany
baranek77
ale rozwiązanie mógłbyś napisać , może komus się przyda
wiciu010
Cytat(baranek77 @ 9.07.2010, 07:19:49 ) *
ale rozwiązanie mógłbyś napisać , może komus się przyda


Jasne więc tak.

1. Błąd wynikał z tego, że nie zmieniłem co ma być defaultowym połączeniem. Default było przy połączeniu mysql, a ja uzupełniłem dane do połączenia przy PDO.

2. Po zmianie default na PDO pojawił się kolejny błąd. Jak się okazało było to spowodowane tym, że chciałem skorzystać z ORM.

Reasumując jeśli chcesz korzystać z ORM jako default musi być ustawione połączenie mysql, czyli tak jak standardowo jest w pliku database.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.