Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][PHP] Wyświetlanie danych z MySql
Forum PHP.pl > Forum > Przedszkole
iNq0
Witam. Napisałem sobie skrypt, który odczytuje dane z MySql, i wyświetla na www.

Wszystko działa idealnie. Jednak dotychczas testowałem tylko na localhoście. Gdy wrzuciłem na serwer www, dostaje takie errory:

  1. Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/shivahal/public_html/bans.php on line 3
  2.  
  3. Warning: mysql_select_db() [function.mysql-select-db]: Access denied for user 'shivahal'@'localhost' (using password: NO) in /home/shivahal/public_html/bans.php on line 4
  4.  
  5. Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /home/shivahal/public_html/bans.php on line 4
  6.  
  7. Warning: mysql_query() [function.mysql-query]: Access denied for user 'shivahal'@'localhost' (using password: NO) in /home/shivahal/public_html/bans.php on line 8
  8.  
  9. Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/shivahal/public_html/bans.php on line 8
  10. Błšd zapytania


Podejrzewam że chodzi o chmody, ponieważ na localhoście działa bez zarzutu. Na ten plik mam ustawione 644.

Czy ktoś wie o co może chodzić?


potreb
Sprawdź połączenie z bazą danych!
iNq0
Cytat(potreb @ 9.02.2012, 21:29:54 ) *
Sprawdź połączenie z bazą danych!



Jest połączenie! Napisałem że na localhoście wszystko działa (baza danych jest na osobnym serwerze)
Konop857
Cytat(iNq0 @ 10.02.2012, 15:39:06 ) *
Jest połączenie! Napisałem że na localhoście wszystko działa (baza danych jest na osobnym serwerze)

Skoro baza danych jest na osobnym serwerze to czemu próbujesz się z nią połączyć na localhoscie?
Cytat
shivahal'@'localhost
iNq0
Cytat(Konop857 @ 10.02.2012, 15:47:23 ) *
Skoro baza danych jest na osobnym serwerze to czemu próbujesz się z nią połączyć na localhoscie?



Być może mam taką sytuację. bo skrypt jest hostowany na Proserwer.pl

Jeszcze raz powtarzam, że na localhoście działa..

Dla pewności dam kod... (**** - cenz.)
  1. <?php
  2.  
  3. $db = mysql_connect ("***", "***", "****");
  4. mysql_select_db ("mc1415");
  5.  
  6.  
  7. /* zapytanie do konkretnej tabeli */
  8. $wynik = mysql_query("SELECT * FROM bh_bans")
  9. or die('Błąd zapytania');
  10.  
  11. /*
  12. wyświetlamy wyniki, sprawdzamy,
  13. czy zapytanie zwróciło wartość większą od 0
  14. */
  15. a
  16. if(mysql_num_rows($wynik) > 0) {
  17. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  18. echo "<table cellpadding=\"2\" border=1>";
  19. while($r = mysql_fetch_assoc($wynik)) {
  20. echo "<tr>";
  21. echo "<td>".$r['created_by']."</td>";
  22. echo "<td>".$r['expires_at']."</td>";
  23. echo "<td>".$r['player']."</td>";
  24. echo "<td>".$r['reason']."</td>";
  25. echo "</tr>";
  26. }
  27. echo "</table>";
  28. }
  29.  
  30. ?>




Refresh. Ktoś zna odpowiedź ?
@rtur
Dane do bazy właściwe, user i hasło się zgadzają, są takie same na localhoscie jak na serwerze mysql w proserwer.pl? na proserwer.pl na pewno adres serwera mysql powinien być localhost? Wg mnie tu jest pies pogrzebany...
iNq0
skrypt jest hostowany na proserwer, baza danych na innym hostingu.
@rtur
a na jakim hostingu stoi baza?

jak strona na proserwer a baza poza proserwer to raczej wątpliwe aby nazwa serwera mysql była localhost
cim
Witam,

1. jeżeli baza na innym serwerze to nie localhost
2.
Kod
Access denied for user 'shivahal'@'localhost' (using password: NO)
uzytkownik bazy produkcyjnej nie ma hasła?

Pozdrawiam
iNq0
tam nie jest wpisane localhost.. aż takim n00bem nie jestem..

  1. $db = mysql_connect ("188.165.193.156:3306", "mc1415", "mojehaslo");
@rtur
Cytat(iNq0 @ 11.02.2012, 19:19:57 ) *
tam nie jest wpisane localhost.. aż takim n00bem nie jestem..

  1. $db = mysql_connect ("188.165.193.156:3306", "mc1415", "mojehaslo");


tu jest user 'mc1415' a w komunikacie o błędzie user 'shivahal'
Cytat
Access denied for user 'shivahal'@'localhost'


posprawdzaj w kodzie gdzie masz wpisane wyrażenia localhost i shivahal

wpisz sobie w plik php testowy:

  1. <?php
  2. $serwer ='adres.serwera';
  3. $user ='nazwa-uzytkownika';
  4. $haslo = 'twoje.haslo.do.bazy';
  5. $db = mysql_connect ("$serwer", "$user", "$haslo");
  6. if($db){
  7. mysql_select_db ("mc1415");
  8. echo "brawo udało się wybrać bazę danych";
  9. } else {echo "nie mogę połączyć się z serwerem mysql za pomocą danych, serwer: $serwer user: $user hasło: $haslo" ;}
  10. ?>



wtedy sprawdzisz czy na danych które podajesz łączy się z bazą.

pisane na szybko nie sprawdzane smile.gif
i-skrypty.pl
  1. $user =='nazwa-uzytkownika';

od kiedy tak można robić? smile.gif
@rtur
Cytat(i-skrypty.pl @ 11.02.2012, 19:50:46 ) *
  1. $user =='nazwa-uzytkownika';

od kiedy tak można robić? smile.gif



mój błąd w chwili jak to pisałeś poprawiłem na jeden znak równości smile.gif)
iNq0
Kilka postów wyżej podałem mój kod..

  1. <?php
  2.  
  3. $db = mysql_connect ("***", "***", "****");
  4. mysql_select_db ("mc1415");
  5.  
  6.  
  7. /* zapytanie do konkretnej tabeli */
  8. $wynik = mysql_query("SELECT * FROM bh_bans")
  9. or die('Błąd zapytania');
  10.  
  11. /*
  12. wyświetlamy wyniki, sprawdzamy,
  13. czy zapytanie zwróciło wartość większą od 0
  14. */
  15. a
  16. if(mysql_num_rows($wynik) > 0) {
  17. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  18. echo "<table cellpadding=\"2\" border=1>";
  19. while($r = mysql_fetch_assoc($wynik)) {
  20. echo "<tr>";
  21. echo "<td>".$r['created_by']."</td>";
  22. echo "<td>".$r['expires_at']."</td>";
  23. echo "<td>".$r['player']."</td>";
  24. echo "<td>".$r['reason']."</td>";
  25. echo "</tr>";
  26. }
  27. echo "</table>";
  28. }
  29.  
  30. ?>



Nie ma tam mowy o żadnym localhoście, czy shivahal. Spróbuję napisać do supportu Proserwer w tej sprawie.



(edit)


czy jako usera nie powinienem wpisać mc1415@<hostbazydanych> ?
i-skrypty.pl
host ma być localhost.

a w ogóle utworzyłeś użytkownika mysql w cPanelu na proserwer? i czy dodałeś go do tej bazy?
iNq0
Matko...

Host nie będzie loclahost, bo baza danych jest zwenętrzna!!

Proponuję zamknąć temat. Użytkownicy nie czytają ze zrozumieniem.

Dostałem następującą odpowiedź od Proserwer.pl

"Niestety ale nie mozna laczyc sie zewnetrznymi bazami danych."




Wszystkim dziękuję za próbę udzielenia pomocy.
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.