Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql][apache] Problem z funkcją mysql_conecct
Forum PHP.pl > Forum > Przedszkole
thomson89
Witam!
Od razu zaznaczę że jestem nowy na forum i nie znam zasad ogólnie tutaj panujących. Robię troszeczkę w MySQL-u, i pojawił się problem. Otóż aby sobie ułatwić, zrobiłem sobie apacha na komputerze z obsługą php. Nie udało mi się instalacja MySQL-a, ale nie wnikajmy w to - nie ten temat. Aby się zbytnio nie męczyć założyłem konto na cba.pl. W pliku na moim komputerze, ustawiłem połaczenie z bazą danych na serwerach cba.pl, lecz przy połaczeniu (wywołaniu) wyskakuje mi błąd, że nie ma takiej funkcji. Dlaczego taki błąd wyskakuje?
artur_dziocha
jaki bład??
zulus
faktycznie funkcji mysql_conecct nie ma tongue.gif

A tak na serio, to prawdopodobnie nie masz bibliotek do obsługi MySQL w php. W jakim systemie uruchamiasz apache z php i z czego go instalowałeś (z oficjalnych stron, czy używasz jakieś paczki?)
thomson89
Literówka wstydnis.gif
Instalowałem z oficjalnych stron, Windows Xp Profesional SP2.
Cytat
jaki bład??

Taki że nie znaleziono funkcji. Przetłumaczyłem z angielskiego. Błąd podał parser, a linia raczej wam się nie przyda - stąd nie podawałem błędu dosłownie.
zulus
http://pl2.php.net/manual/pl/install.windows.extensions.php

musisz dopisać obsługę mysql według instrukcji i zrestartować server.
artur_dziocha
raczej by sie przydało
thomson89
Kod
Fatal error: Call to undefined function mysql_connect() in D:\STRONA\index.php on line 18

Niestety. Bilbliotekę miałem już dopisaną. Na tej stronie, domyślnym katalogiem dodatków jest katalog extensions, ja mam biblioteki w katalogu ext. Domyslny katalog mam dobry.
artur_dziocha
nie masz obsługi mysql

wyedytuj plik php.ini
zrób tak jak mówil ~zulus
lub pobierz sobie Xampp lub appserv lub krasnal lub cos innego

Pozdrawiam
thomson89
Wyedytowałem php.ini, szukałem na googlach ale nic pomocnego nie znalazłem.
Axexis
wleź do folderu z php skopiuj plik 'libmysql.dll' do c:\windows i zresetuj daemona httpd.
thomson89
Skopiowałem juz tą bibliotekę. Niestety teraz wyskuje błąd:
Kod
Can't connect to MySQL server on 'mysql.cba.pl' (10060)

Wyciąg z phpinfo
Kod
mysqlMySQL Support    enabled
Active Persistent Links     0
Active Links     0
Client API version     5.0.51a

Directive    Local Value    Master Value
mysql.allow_persistent    On    On
mysql.connect_timeout    60    60
mysql.default_host    no value    no value
mysql.default_password    no value    no value
mysql.default_port    no value    no value
mysql.default_socket    no value    no value
mysql.default_user    no value    no value
mysql.max_links    Unlimited    Unlimited
mysql.max_persistent    Unlimited    Unlimited
mysql.trace_mode    Off    Off
pawel81
Sprawdz za pomoca phpinfo czy zaladowalo Ci php.ini (pozycja Loaded Configuration File, siodma od gory)
thomson89
Załadowało.
pawel81
Z jakiego mysql'a korzystasz 5.1?
thomson89
Cytat(thomson89 @ 7.01.2009, 18:49:09 ) *
Otóż aby sobie ułatwić, zrobiłem sobie apacha na komputerze z obsługą php. Nie udało mi się instalacja MySQL-a, ale nie wnikajmy w to - nie ten temat. Aby się zbytnio nie męczyć założyłem konto na cba.pl. W pliku na moim komputerze, ustawiłem połaczenie z bazą danych na serwerach cba.pl, (...)


Jasno i klarownie.
pawel81
Tylko że oni mogą blokować zewnętrzne połączenia z bazą danych.
thomson89
Wrzucę na serwer i zobaczę.
EDIT
NIE działa, u nich na serwerze też ni działa
pawel81
sprawdz dane potrzebne do polaczenia
thomson89
Juz dawno sprawdzałem. Czytałem także dokumentację serwera cba.pl, ale nic to nie pomogło.
pawel81
Jezeli nie dziala na ich serwrze to musi byc blad w skrypcie.
Sprawdz czy mozesz nawiazac polaczenie z baza za pomoca mysql front.
thomson89
Łącze się standardowo, tzn. [php]$db = mysql_conect(...) or die 'blad'; mysql_select();
I nie ma w tym kodziku miejsca na błąd. Sprawdzałem ja, kolega i inni z tego forum.
pawel81
Sprawdz czy mozesz nawiazac polaczenie z baza za pomoca mysql front.
Jestes pewny co do nazwy serwera mysql?
guilty82
sprawdz firewalla dla portu mysql (domyslnie 3306)
thomson89
Według phpinfo, połaczenie nawiązuje poprzez port 60. Dałem wyciąg w innym poście.
Cytat
Jestes pewny co do nazwy serwera mysql?

TAK
pawel81
Jezeli dales plik php na serwer cba i po wywolaniu nie dziala sciana.gif
guilty82
Wyciągu brak.. Moze jednak firewall?
thomson89
Funckji mysql_front nie mogę znaleźć w dokumentacji. Będę próbował.
--EDIT--
Nie, nie, nie - firewall nie blokuje portu już sprawdzałem. Sam nie wiem pojęcia co to moze być. Bo niby wszystko ok, a tu dupa.
pawel81
mysql front to program http://www.mysqlfront.de/download.html
firewall moze dzialac po stronie cba.pl tak jest w przypadku yoyo.pl blokowane sa polaczenia zewnetrzne takie jak twoje

sprawdz to na serwerze cba

  1. <?php
  2. if(!function_exists('mysql_connect') echo 'Brak mysql_connect';
  3. else {
  4.    mysql_connect(......) or die(mysql_error);
  5.    ........
  6. }
  7. ?>
thomson89
Strona, normalnie przy tamtym błędzie się nie wyśiwtlała. Zmieniłem nazwę serwera, wsystko jescze raz sprawdziłem. Po wczytaniu pliku, parser wypluwa:
Kod
Warning: mysql_connect() [function.mysql-connect]: Can't connect to MySQL server on 'mysql2.yoyo.pl' (10061) in D:\STRONA\index.php on line 19

Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to MySQL server on 'localhost' (10061) in D:\STRONA\index.php on line 20

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in D:\STRONA\index.php on line 20

Warning: mysql_query() [function.mysql-query]: Can't connect to MySQL server on 'localhost' (10061) in D:\STRONA\index.php on line 23

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in D:\STRONA\index.php on line 23

Dochodze powoli do wniosku że jest to coś u mnie, na kompie.
pawel81
jezeli korzystasz z zewnetrznego serwera to nie mozesz jako nazwy serwera podac localhost
thomson89
Nie dalem localhost, lecz mysql2.yoyo.pl
Mówiłem że wsyztsko sprawdzałem. winksmiley.jpg
guilty82
Cytat
... Nie udało mi się instalacja MySQL-a ...


Moze trzeba wlaczyc jednak mysqla?

http://forums.mysql.com/read.php?34,49742,239961#msg-239961
zulus
Możesz pokazać fragment kodu odpowiedzialny za połączenie?

Spróbuj wpisać nazwę hosta - localhost.

A jak dodajesz tabele do bazy? Przez PHPMyAdmin? Jak tak to odczytaj ze strony adres servera.
Axexis
Pokaż źródło (tam gdzie mysql_connect [zahashuj hasło]). W hoście dodaj port.

PS. Z ktorego serwera w koncu korzystasz? Yoyo czy cba? Oba te serwisy blokują połączenia z zewnątrz.
Spróbuj się łączyć z mysql na yoyo, z serwera yoyo i analogicznie do cba.
thomson89
  1. <?php
  2. $bd = mysql_connect('mysql2.yoyo.pl', 'niewiem', 'chciałbyś');
  3.    mysql_select_db('db727076');
  4. ?>


A ponizej wrzucenie powyższego skryptu, na yoyo.pl:
Kod
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /var/www/sites/yoyo.pl/m/a/mateuszkow/TEST/index.php on line 20

Warning: mysql_select_db() [function.mysql-select-db]: Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/sites/yoyo.pl/m/a/mateuszkow/TEST/index.php on line 21

Warning: mysql_select_db() [function.mysql-select-db]: A link to the server could not be established in /var/www/sites/yoyo.pl/m/a/mateuszkow/TEST/index.php on line 21
koreja
Adres to mysql2.yoyo.pl czy mysql12.yoyo.pl?

Bo u Ciebie widzę tą drugą opcję smile.gif
thomson89
Od kiedy w literce l widzisz 1 questionmark.gif
Kod
Tu jest litera L, l jak laska: l l l l l l
A tutaj jest zwykła jedynka: 1 1 1 1 1 1 1

Fakt, są podobne. laugh.gif
koreja
Ups... pomyłka haha.gif

Wrzuć plik index.php
thomson89
Może kawałkami. Indeź jest dość duuuży. Jeszcze nie wyciąłem tabelek. Index stworzyłem na wzór smarta.
  1. <?php
  2. /*----------dołączanie plików----------*/
  3. require_once('f_wyswietl.php');
  4. require_once('f_baza.php');
  5. require_once('f_licznik.php');
  6. //include('f_tabele'); //tutaj będą dołączane tabelki które są poniżej
  7.  
  8. /*----------zmienne----------*/
  9.    $tytul = "nazwa_pg"; //jezeli z tablicy wpisac nazwa_pg
  10.    $menu = "on";
  11.    $max = "6";
  12.    $nazwa_st = "glowna";
  13.    $katalog_tresc = "tresc";
  14.  
  15.    $liczba = mt_rand('0', $max);
  16.    $data = date("d.m.Y G:i");
  17.  
  18. /*----------cytaty----------*/
  19.    $bd = mysql_connect('mysql2.yoyo.pl', 'siema', 'zapomniałem');
  20.    mysql_select_db('db727076');
  21.    $zapytanie = "SELECT tresc, autor FROM cytaty WHERE numer='".$liczba."'";
  22.    $wynik = mysql_query($zapytanie);
  23.    $cytat = mysql_fetch_assoc($wynik);
  24.    $autor = $cytat['autor'];
  25.    $tresc = $cytat['tresc'];//*/
  26. /*----------obecnosc----------*/
  27.    $strona['glowna'][0] ='<li>Strona główna</li>'; //STRONA GLOWNA
  28.    $strona['aktualnosci'][0] ='<li>Aktualności</li>'; //AKTUALNOSCI
  29.    $strona['aktualnosci'][1] ='<li>Aktualnosci</li>';
  30.    $strona['aktualnosci'][2] ='<li><span>Aktualności</span></li>  <li>Archiwum</li>';
  31.    $strona['biblioteka'][0] ='<li>Biblioteka</li>'; //BIBLIOTEKA
  32.    $strona['biblioteka'][1] ='<li><span>Biblioteka</span></li> <li>Wiersze</li>';
  33.    $strona['biblioteka'][2] ='<li><span>Biblioteka</span></li>  <li>Opowieści</li> ';
  34.    $strona['biblioteka'][3] ='<li><span>Biblioteka</span></li> <li>Złote myśli</li> ';
  35.    $strona['biblioteka'][4] ='<li><span>Biblioteka</span></li> <li>Fotografia</li>';
  36.    $strona['omnie'][0] ='<li>O mnie</li>'; //O MNIE
  37.    $strona['strona'][0] ='<li>Strona</li>'; //STRONA
  38.    $strona['strona'][1] ='<li><span>Strona</span></li>  <li>Księga Gości</li>';
  39.    $strona['strona'][2] ='<li><span>Strona</span></li>  <li>Mapa strony</li>';
  40.    $strona['strona'][3] ='<li><span>Strona</span></li>  <li>Oceny</li>';
  41.    $strona['strona'][4] ='<li><span>Strona</span></li>  <li>O stronie</li>';
  42.    $strona['kontakt'][0] ='<li>Kontakt</li>'; //KONTAKT
  43.    if(!isset($_GET['id'])){
  44.        $obecnosc = $strona[$nazwa_st][0];
  45.    }
  46.    else if(isset($_GET['id'])){
  47.        $obecnosc = $strona[$nazwa_st][$_GET['id']];
  48.    }
  49. /*----------tytul----------*/
  50.    if($tytul == 'nazwa_pg'){
  51.        $strona['glowna'][0] = 'Strona główna'; //STRONA GLOWNA
  52.        $strona['aktualnosci'][0] = 'Aktualności'; //AKTUALNOSCI
  53.        $strona['aktualnosci'][1] = 'Aktualności';
  54.        $strona['aktualnosci'][2] = 'Aktualności - Archiwum';
  55.        $strona['biblioteka'][0] = 'Biblioteka'; //BIBLIOTEKA
  56.        $strona['biblioteka'][1] = 'Biblioteka - Wiersze';
  57.        $strona['biblioteka'][2] = 'Biblioteka - Opowie?ci';
  58.        $strona['biblioteka'][3] = 'Biblioteka - Z?ote my?li';
  59.        $strona['biblioteka'][4] = 'Biblioteka - Fotografia';
  60.        $strona['omnie'][0] = 'O mnie'; //O MNIE
  61.        $strona['strona'][0] = 'Strona '; //STRONA
  62.        $strona['strona'][1] = 'Strona - Ksi?ga go?ci';
  63.        $strona['strona'][2] = 'Strona - Mapa strony';
  64.        $strona['strona'][3] = 'Strona - Oceny';
  65.        $strona['strona'][4] = 'Strona - O stronie';
  66.        $strona['kontakt'][0] = 'Kontakt'; //KONTAKT    
  67.        if(!isset($_GET['page'])){
  68.            $tytul = $strona[$nazwa_st][0];
  69.        }
  70.        if(isset($_GET['page'])){
  71.            $tytul = $strona[$nazwa_st][$_GET['page_id']];
  72.        }
  73.    }
  74.  
  75. /*----------blok wstawiania tresci----------*/
  76.    $strona['glowna'][0] = $katalog_tresc.'/glowna,0.txt'; //STRONA GLOWNA
  77.    $strona['aktualnosci'][0] = $katalog_tresc.'/aktualnosci,0.txt'; //AKTUALNOSCI
  78.    $strona['aktualnosci'][1] = $katalog_tresc.'/aktualnosci,1.txt';
  79.    $strona['aktualnosci'][2] = $katalog_tresc.'/aktualnosci,2.txt';
  80.    $strona['biblioteka'][0] = $katalog_tresc.'/biblioteka,0.txt'; //BIBLIOTEKA
  81.    $strona['biblioteka'][1] = $katalog_tresc.'/biblioteka,1.txt';
  82.    $strona['biblioteka'][2] = $katalog_tresc.'/biblioteka,2.txt';
  83.    $strona['biblioteka'][3] = $katalog_tresc.'/biblioteka,3.txt';
  84.    $strona['biblioteka'][4] = $katalog_tresc.'/biblioteka,4.txt';
  85.    $strona['omnie'][0] = $katalog_tresc.'/omnie,0.txt'; //O MNIE
  86.    $strona['strona'][0] = $katalog_tresc.'/strona,0.txt'; //STRONA
  87.    $strona['strona'][1] = $katalog_tresc.'/strona,1.txt';
  88.    $strona['strona'][2] = $katalog_tresc.'/strona,2.txt';
  89.    $strona['strona'][3] = $katalog_tresc.'/strona,3.txt';
  90.    $strona['strona'][4] = $katalog_tresc.'/strona,4.txt';
  91.    $strona['kontakt'][0] = $katalog_tresc.'/kontakt,0.txt'; //KONTAKT
  92.    if(!isset($_GET['page'])){
  93.        $center_pg = file_get_contents($strona[$nazwa_st][0]);
  94.    }
  95.    if(isset($_GET['page'])){
  96.        $center_pg = file_get_contents($strona[$nazwa_st][$_GET['page']]);
  97.    }
  98.    $center_page = explode('<!>', $center_pg);
  99.    $center_title = $center_page[0];
  100.    $center_txt = $center_page[1];
  101.  
  102. /*----------wywoływanie licznika odwiedzin----------*/
  103.    $licznik = licznik();
  104.  
  105. ?>
  106. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  107. <html lang="pl">
  108. <head>
  109.    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  110.    <link rel="stylesheet" type="text/css" href="tekst.css" />
  111.    <link rel="stylesheet" type="text/css" href="menu.css" />
  112.    <title>Wiersze, zdjęcia, opowieści - MATEUSZkow.oz.pl - <?php echo $tytul ?></title>
  113. </head>
  114. <body>
  115. <!-- NAG??WEK -->
  116. <div id="masthead">
  117. <h1><a href="index.php">MATEUSZKOW
  118. <font size="6">.oz.pl</font></h1></a>
  119. </div>
  120. <!-- MENU -->
  121. <?php if($menu = 'on'){ menu(); } ?>
  122. <!-- TU JESTES, DATA -->
  123. <table id="breadCrumbs" width="100%"><tr><td align="left">
  124. <ul><li><span>MATEUSZKOW.oz.pl </span></li><?php echo $obecnosc; ?></ul></td>
  125. <td align="right"><?php echo $data; ?></td></tr></table>
  126. <!-- AKTUALNOSCI -->
  127. <div id="secondaryContent">
  128. <div class="secondaryContentBox">
  129. <h2>Aktualności</h2>
  130. <p><a href="index.php?id=news1">12.12.2008</a> </p>
  131. <div id="linia"><br></div>
  132. <h2>Ostatnio dodano</h2>
  133. <p><a href="index.php?id=news1">Wiersz</a></p>
  134. </div>
  135. <!-- CYTATY -->
  136. <h2>Z?ote my?li</h2>
  137. <blockquote>
  138. <p><?php echo $tresc; ?></p>
  139. </blockquote>
  140. <p class="source"><?php echo $autor; ?></p>
  141. </div>
  142. <div id="mainContent">
  143. <!-- TRESC -->
  144. <h2><?php echo $center_title; ?></h2>
  145. <p><?php echo $center_txt; ?></p>
  146. </div>
  147. <!-- STOPKA -->
  148. <table width="100%" id="footer">
  149. <tr><td align="left">
  150. Š 2008 MATEUSZ. Design by Mateusz, Beer Bongs, gorotron.
  151. </td><td align="right">
  152. Ostatnia aktualizacja:
  153. <?php echo date('d.m.Y', filemtime($_SERVER['SCRIPT_FILENAME'])); ?> &nbsp
  154. <a href="index.php?id=kontakt"><img style="border:0px;" src="images/kontakt.gif"></a>
  155. <a href="index.php?id=mapa"><img style="border:0px;" src="images/mapa.gif"></a>
  156. <a href="http://www.cms-mateuszkow.yoyo.pl"><img  style="border:0px;" src="images/key.gif"></a>
  157. </td></tr><tr><td colspan="2" align="left">Odwiedziń <?php echo $licznik; ?>
  158. </p></td></tr>
  159. </table>
  160.  
  161. </body>
  162. </html>
koreja
A spróbuj połączyć się w ten sposób:
  1. <?php
  2. $bd = mysql_connect('mysql2.yoyo.pl:3306', '***', '***');
  3.   mysql_select_db('***',$bd);
  4. ?>


albo ten:
  1. <?php
  2. $bd = mysql_connect('mysql2.yoyo.pl', '***', '***');
  3.   mysql_select_db('***',$bd);
  4. ?>
thomson89
Nie działa. Kliknąłem odśwież. Strona się łądowała, a ja z w napięciu czekałem na wynik operacji. Nic. mellow.gif
Zahaszuj hasełko w poprzednim poście. Moja pomyłka.
koreja
A teraz wyskakuje dalej ten sam błąd? Możliwe że mysql jest przeciążony. Spróbuj jeszcze zbuforować stronkę (ob_start).
thomson89
Tak, błąd ten sam cały czas wyskakuje. No, ale tak na logikę: dwa serwery od 3 dni są przeciążone, nawet w nocy?
koreja
A osobno mały skrypcik, który przetestuje połączenie z bazą winksmiley.jpg
  1. <?php
  2. $bd= mysql_connect("mysql2.yoyo.pl", "***", "***");
  3. mysql_select_db("***",$bd);
  4. //zrob przykladowa tabelke
  5. $sql = "SELECT * FROM tabelka";
  6. $wynik = mysql_query($sql, $bd) or die(mysql_error());
  7. ?>


Sprawdź czy on wywali jakieś błędy...
thomson89
Niestety. Zaraz jeszcze wywołam to z cba.pl i z kompa.
  1. <?php
  2. Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /var/www/sites/yoyo.pl/m/a/mateuszkow/baza.php on line 2
  3.  
  4. Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /var/www/sites/yoyo.pl/m/a/mateuszkow/baza.php on line 3
  5.  
  6. Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/sites/yoyo.pl/m/a/mateuszkow/baza.php on line 6
  7. Lost connection to MySQL server at 'reading initial communication packet', system error: 111
  8. ?>


Przy pomocy kolegi ~kosma udało mi się nawiązać połączenia, z serwera cba.pl do bazy cba.pl, przy pomocy kodu:
  1. <?php
  2. $link = mysql_connect('mysql.cba.pl', 'wal_się', 'chcesz_dżemu')
  3.        or die('Nie można się połączyć: ' . mysql_error());
  4.    print ('Połączenie nawiązane');
  5.    
  6.    $baza=mysql_select_db('niet',$link)
  7.        or die('Nie można się połączyć: ' . mysql_error());
  8.        
  9.   echo "<br /> Baza wybrana";
  10.  
  11.    mysql_close($link);
  12. ?>

Który wyświetlił:
Kod
Połšczenie nawišzane
Baza wybrana


No to mam za sobą mały sukces. Teraz spróbuję to samo, ale z serwera yoyo na bazę mysql yoyo. Wynik: negative. Chyba to jest coś z serwerem yoyo.pl.

Kod
Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /var/www/sites/yoyo.pl/m/a/mateuszkow/baza.php on line 2
Nie można się połšczyć: Lost connection to MySQL server at 'reading initial communication packet', system error: 111
Axexis
Jakiś ciekawy bug serwera MySQL. Pisz do obsługi technicznej. Od strony "kodu" - wszystko OK.
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.