Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource
soomal - 06-08-2006 02:15
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource
Witam.
<? function polacz() { $adres='localhost'; $baza='baza'; $login='root'; $pass='root';
if ($db = mysql_connect ($adres, $login, $pass)) { echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: '.$pass.'</b></p>'; }
if (mysql_select_db($baza)) { echo '<p>Baza wybrana.</p>'; } }
polacz(); mysql_close($db); ?>
Taki fragment kodu daje mi taki blad:
Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in... on line...
O co chodzi? Jak temu zaradzic?
-- soomal gg:1337396
[BuKoX] - 06-08-2006 02:16
soomal napisał(a):
> echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: > '.$pass.'</b></p>';
> Warning: mysql_close(): supplied argument is not a valid MySQL-Link > resource in... on line...
A czy pojawia ci sie komunikat o pomyslnym polaczniu? Jesli nie to masz odpowiedz - probujesz zamknac polaczenie ktorego nie zostalo zainicjowane.
pozdrawiam...
-- __ __ _______________________________________ |__\\ | || |_// / \\ \_// Portfolio: http://bukox.pl | |__// |__|| | \\ \__// / \\__Total Commander: http://totalcmd.pl /
soomal - 06-08-2006 02:16
Dnia Sat, 05 Aug 2006 16:53:39 +0200, [BuKoX] napisał(a):
> soomal napisał(a): > >> echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: >> '.$pass.'</b></p>'; > >> Warning: mysql_close(): supplied argument is not a valid MySQL-Link >> resource in... on line... > > A czy pojawia ci sie komunikat o pomyslnym polaczniu? Jesli nie to masz > odpowiedz - probujesz zamknac polaczenie ktorego nie zostalo zainicjowane. > > pozdrawiam...
Jest polaczenie. Nawet da sie wywolywac zapytania przez mysql_query.
-- soomal gg:1337396
Sarenka - 06-08-2006 02:16
soomal napisał(a):
> Witam. > > <? > function polacz() > { > $adres='localhost'; > $baza='baza'; > $login='root'; > $pass='root';
Mam nadzieje, ze zdajesz sobie sprawe, ze takie cos nie jest zbyt madre i nie nadaje sie do uzycia w sieci (chodzi o root/root). Poza tym zazwyczaj zdecydowanie wygodniej jest umieszczac dane polaczenia z baza w osobnym pliku i go includowac (nawet w katalogu nadrzednym do public_html - wtedy, gdy padnie cos na serweie i nieskomppilownae php beda sie sciagac, twoj login i haslo nadal beda ukryte).
> if ($db = mysql_connect ($adres, $login, $pass)) > { > echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: > '.$pass.'</b></p>';
A wyswietla Ci ten komunikat? Poza tym zamiast if do zabawa dal bym:, $db = mysql_connect ($adres, $login, $pass) or die ("BLAD: ".mysql_error());
> } > > if (mysql_select_db($baza)) > { > echo '<p>Baza wybrana.</p>'; > } > } > > polacz(); > mysql_close($db);
Bo jak nie, to probujesz zamknac polaczenie, ktorego nie ma.
> ?>
A tak poza tym, to czy probowales poza funkcja polacz wykonac cos na bazie (np. wyslac zapytanie i wyswietlic rezultat)? Wprawdzie nie dam glowy, ale zmienna, pod ktora w funkcji podstawiasz id polaczenia powinna byc zadeklarowana jako globalna, bo sama z siebie taka nie jest.
-- Sarenka (ale facet) I tak i nie wiem czego chce :)
orcus - 06-08-2006 02:16
Sat, 05 Aug 2006 16:48:46 +0200, soomal wrote:
> if ($db = mysql_connect ($adres, $login, $pass)) { > polacz(); > mysql_close($db);
kluczowe linijki masz powyzej.
a teraz manual->zasieg zmiennych i zastanow sie gdzie jest $db.
Musisz albo ja zadeklarowac jako globalna albo zwrocic.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
orcus - 06-08-2006 02:16
Sat, 05 Aug 2006 17:06:57 +0200, Sarenka wrote:
> Mam nadzieje, ze zdajesz sobie sprawe, ze takie cos nie jest zbyt madre i > nie nadaje sie do uzycia w sieci (chodzi o root/root). Poza tym zazwyczaj > zdecydowanie wygodniej jest umieszczac dane polaczenia z baza w osobnym > pliku i go includowac (nawet w katalogu nadrzednym do public_html - wtedy, > gdy padnie cos na serweie i nieskomppilownae php beda sie sciagac, twoj > login i haslo nadal beda ukryte).
sprobuj sie dostac na ktorys z portow servera hostingowego. Zwykle takie polaczenia za rejectowane albo dropowane zanim dotra do procesow.
Juz dawno nie spotkalem ISP ktory mialby port BD otwarty na swiat. Ostatnio widzialem na siec wewnetrzna(kilka serverow http) i to i tak byl ewenement.
-- Pozdrawiam orcus
..: Jest 10 rodzajow ludzi: Ci ktorzy rozumieja zapis binarny i pozostali :.
kunek - 06-08-2006 02:16
Użytkownik "soomal" <soomal@gmailgmail.com> napisał w wiadomości news:1581zjjouxn1d.vcp1orzmx1xu$.dlg@40tude.net... > Witam. > > <? > function polacz() > { > $adres='localhost'; > $baza='baza'; > $login='root'; > $pass='root'; > > if ($db = mysql_connect ($adres, $login, $pass)) > { > echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: > '.$pass.'</b></p>'; > } > > if (mysql_select_db($baza)) > { > echo '<p>Baza wybrana.</p>'; > } > } > > polacz(); > mysql_close($db); > ?> > > Taki fragment kodu daje mi taki blad: > > Warning: mysql_close(): supplied argument is not a valid MySQL-Link > resource in... on line... > > O co chodzi? Jak temu zaradzic? > > -- > soomal > gg:1337396
Witam Dla Twoich potrzeb powinno wystarczyć: <? function polacz() { $adres='localhost'; $baza='baza'; $login='root'; $pass='root';
if ($db = mysql_connect ($adres, $login, $pass)) { echo '<p>Połączenie z bazą <b>'.$baza.'</b> nawiązane. <b>'.$login.' :: '.$pass.'</b></p>'; } if (mysql_select_db($baza)) { echo '<p>Baza wybrana.</p>'; } return $db; }
$db = polacz(); mysql_close($db); ?>
Jeżeli nie będzie połącznia to skrypt się wywali.... Podczas zamykania połączenia użyłeś zmiennej $db, która nie była zmienną $db z funkcji.
Pozdrawiam Kunek
soomal - 06-08-2006 02:16
Dnia Sat, 5 Aug 2006 17:39:11 +0200, kunek napisał(a):
> $db = polacz(); > mysql_close($db); > ?> > > Jeżeli nie będzie połącznia to skrypt się wywali.... > Podczas zamykania połączenia użyłeś zmiennej $db, która nie była zmienną $db > z funkcji.
Dziekuje wszystkim za pomoc w tym temacie.
-- soomal gg:1337396
Bzdziul - 06-08-2006 02:16
orcus napisał(a): > Juz dawno nie spotkalem ISP ktory mialby port BD otwarty na swiat.
hehehehehe!! home.pl na przykład
Sarenka - 07-08-2006 01:48
orcus napisał(a): > Juz dawno nie spotkalem ISP ktory mialby port BD otwarty na swiat.
home.pl.. progreso chyba t ez czasami,
> Ostatnio widzialem na siec wewnetrzna(kilka serverow http) i to i tak byl > ewenement.
Tak akurat ma zdecydowana wiekszosc. Poza tym starczy wtedy miec konto na tym samym serwerze. A wersje demo, to chyba tylko nie maja lokalnej bazy ale jak masz lign i haslo to CHYBA idzie sie dostac. A demo zakladasz formularzem na www.
-- Sarenka (ale facet) I tak i nie wiem czego chce :)
keczerad - 07-08-2006 01:48
orcus napisał(a):
> sprobuj sie dostac na ktorys z portow servera hostingowego. Zwykle takie > polaczenia za rejectowane albo dropowane zanim dotra do procesow.
ma kilka, jak sie dogadasz z adminami to ci dadza na twoj IP, poza tym do takich rzeczy stosuje sie opcje polaczenia z MySQL zeby wymusic SSL.
--
keczerad
http://www.e-mo.com.pl sklep w (X)HTML
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
[mysql] =?ISO-8859-2?Q?Za=E6mienie=2E=2E=2E_jak_wy=B6wietli=E6?==?ISO-8859-2?Q?=2E=2E=2E?=
[mysql] =?ISO-8859-2?Q?wielko=B6=E6_bazy_a_stabilno=B6=E6=2C?==?ISO-8859-2?Q?_podzia=B3_du=BFej_bazy_a_powi=B1zania_tabel?=
[MySQL] =?ISO-8859-2?Q?Wy=B6wietlenie_kolejnej_pozycji=2C_?==?ISO-8859-2?Q?jak=B1_mia=B3by_dany_rekord=2C_gdybym_czyta=B3 _?==?ISO-8859-2?Q?wg_konkretnych_kryteri=F3w=2E_Da_si=EA_=3F?=
[mysql 4.0.x] przenoszenie kolum =?ISO-8859-2?Q?mi=EAdzy_bazam?==?ISO-8859-2?Q?i_cd_=2E=2E=2E_?=
[MySQL] =?ISO-8859-2?Q?z=B3=B1czenie_tabeli_u=BFytkownik_i?==?ISO-8859-2?Q?_zdj=EAcia_z_wyborem_zdj=EAcia_domy=B6lnego?=
[MySQL] Jak =?ISO-8859-2?Q?wpisa=E6_do_tabeli_pozycje_dl?==?ISO-8859-2?Q?a_wierszy_gdybym_te_wiersze_wybiera=B3_w_ok?== ?ISO-8859-2?Q?re=B6lonej_kolejno=B6ci_=3F?=
Gdzie MySQL 4.1, a gdzie 5.0?
[MySQL 4.0...4.1] zabezpieczenie przed =?ISO-8859-2?Q?jednoczesn?==?ISO-8859-2?Q?=B1_edycj=B1?=
[MS SQL] "set names" (mySQL) w MS SQL
[mysql 5.x] jak =?ISO-8859-2?Q?zrealizowa=E6_zapytanie=3F_cz?==?ISO-8859-2?Q?yli_podzapytanie_i_wi=EAcej_ni=BF_jeden_rz=B1? ==?ISO-8859-2?Q?d_wynik=F3w?=
zanotowane.pldoc.pisz.plpdf.pisz.pltejsza.htw.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|