Mam dziwny problem z połączeniem z bazą. Na localhost wszystko działa bez zarzutu, jednak po wrzuceniu skryptówna server skrypt nie wyświetla danych z bazy. Niestety nie wyswietlają się też żadne błędy więc nie mogę zlokalizować błędu. Hasło, host, i użytkownik jest poprawne, gdyż testowy skrypt bez obiektów i w jednym pliku działa poprawnie.
W sytuacji gdy ustawię dostęp do bazy w jednym pliku i bez obiektów, wszystko działa jak należy.
W sytuacji, gdy ustawię połączenie z bazą w obiekcie i przerzucę do katalogu /inc wtedy już połączenie z bazą nie działa.
Niestety nie mam pojęcia jak rozwiązać ten problem, gdyż nie wiem jaki wyświetlany jest błąd. Z racji, iż serwer jest z hostingu ustawienie display_errors=on w php.ini raczej nie wchodzi w grę. Uprawnienia katalogu /inc - to 755 a pliki *.inc to 644.
klasa z połączeniem do bazy:
class cls_db_mysql { private $host="localhost"; //adres servera private $uzytkownik="admin"; //nazwa uzytkownika private $nazwa_bazy_danych="db"; private $haslo="mojehaslo"; private $polaczenie; //id polaczenia private function polacz() { if ( $link==TRUE ) { { return $this->polaczenie = $link; } } } public function Query($zapytanie1) { $this->polacz(); if ( !$wynik ) //gdy blad w zapytaniu { echo '<BR><div style="font-family:Verdana,Tahoma;color:white;font-weight:bold">BúíD zapytania SQL !<BR>Opis problemu: -> '. $this->pokaz_blad() .'</div><BR>'; } else { return $wynik; } } private function pokaz_blad() { return $error; } public function blad_polaczenia( $e ) { exit; } }
skrypt:
$path = "inc/"; require_once($path."cls_db_mySQL.inc"); $db = new cls_db_mysql; $wynik = $db->Query("SELECT * FROM SMSY"); if($wynik) { { { } } }
Natomiast poniższy skrypt umieszczony w jednym pliku działa prawidłowo:
$
host="localhost"; //adres servera $uzytkownik="admin"; //nazwa uzytkownika $nazwa_bazy_danych="db"; $haslo=mojehaslo"; $link = mysql_connect( $host, $uzytkownik, $haslo ); //polaczenie z serverem if ( $link==TRUE ) { if ( mysql_select_db($nazwa_bazy_danych, $link)) { $wynik = mysql_query("SELECT * FROM SMSY", $link); //wys│anie zapytania do bazy if ( $wynik ) { if(mysql_num_rows($wynik)>0) { while ($row = mysql_fetch_array($wynik)) { print_r($row); } } else echo 'Brak wynikow !'; } else echo 'polaczenie error'; } }
Ma ktoś pomysł, gdzie może być problem ?
pozdrawiam
Adam