Kod łączący się z inną bazą danych
|
Andiv |
Dodany dnia 12.08.2007 22:10:58
|
Przedszkolak
Postów: 70
Data rejestracji: 01.05.2007 19:39
|
Witam, próbuje dodać taki kod, w panelu lub gdzieś w theme.php i mam taki błąd:
$db_linkarz = mysql_connect('localhost','root','haslo');
mysql_select_db('linkarz');
$wynik_linkarz = mysql_query('select links_linki.adres,links_linki.anchor,links_linki.title,links_linki.tekstprzed,links_linki.tekstza from `links_linki`,`links_naszestrony` where data_start < '.time().' and ((data_start + 86400 * ile_dni) > '.time().' or ile_dni=0) and links_linki.id_naszej_strony = links_naszestrony.id and links_naszestrony.adres = \'http://extreme-pc.net\' order by links_linki.kolejnosc');
while ($rekord_linkarz = mysql_fetch_array($wynik_linkarz))
{
echo $rekord_linkarz['tekstprzed'].'<a href="'.$rekord_linkarz['adres'].'" title="'.$rekord_linkarz['title'].'" target="_blank">'.$rekord_linkarz['anchor'].'</a>'.$rekord_linkarz['tekstza'].' ';
// Jeśli chcesz, aby linki wyświetlały się jeden pod drugim, w miejsce w wierszu powyżej wstaw <br />
}
mysql_close($db_linkarz);
Access denied for user 'www-data'@'localhost' (using password: NO)Access denied for user 'www-data'@'localhost' (using password: NO)Access denied for user 'www-data'@'localhost' (using password: NO)Access denied for user 'www-data'@'localhost' (using password: NO)
Warning: mysql_close(): no MySQL-Link resource supplied in /var/www/fusion/footer.php on line 25
Z kolei linia 25 w footer.php zamyka baze danych fusiona
mysql_close();
w dosłownym tłumaczeniu błędu: nie dostarczony link zasobu mysql w footer.php w 25 lini ?
Czy np w theme.php nie można sobie otworzyć bazy danych, pobrać danych i zamknąć ?
Jak temu zaradzić?
W szukajce albo wpisywałem złe frazy albo temat nie był jeszcze poruszany...
Edytowane przez Andiv dnia 12.08.2007 22:33:28
Pomagam przy stronie, przerabiam skórki do php-fusion, oczywiście komercyjnie.
Wszedzie dobrze ale na 127.0.0.1 najlepiej xD
Na miły Bóg, życie nie po to tylko jest, by brać
Życie nie po to, by bezczynnie trwać
I aby żyć siebie samego trzeba dać
|
|
|
|
Wścibski Gość |
Dodany dnia 25.11.2024 16:19:24
|
Pan Kontekstualny
Postów: n^x
Data rejestracji: Zawsze
|
|
IP: localhost |
|
|
Pieka |
Dodany dnia 12.08.2007 22:33:06
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Wpisz sobie w szukajce:
dbconnect
Zaznacz:
muszą wystąpić wszystkie słowa
Gwarantuje, ze znajdziesz, to czego szukasz.
Edytowane przez Pieka dnia 12.08.2007 22:33:36
Jestem jaki jestem
|
|
|
|
Andiv |
Dodany dnia 12.08.2007 22:37:25
|
Przedszkolak
Postów: 70
Data rejestracji: 01.05.2007 19:39
|
Czyli dwie bazy nie mogą byc otwarte w tym samym czasie. Dzięki. Temat nadaje się do kosza...
Pomagam przy stronie, przerabiam skórki do php-fusion, oczywiście komercyjnie.
Wszedzie dobrze ale na 127.0.0.1 najlepiej xD
Na miły Bóg, życie nie po to tylko jest, by brać
Życie nie po to, by bezczynnie trwać
I aby żyć siebie samego trzeba dać
|
|
|
|
Pieka |
Dodany dnia 12.08.2007 22:39:18
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Andiv napisał/a:
Czyli dwie bazy nie mogą byc otwarte w tym samym czasie. Dzięki. Temat nadaje się do kosza...
To przykre... Ja znalazlem, co innego.
Dam glowe, ze moga, ale skoro Ty twierdzisz, ze nie, to nie mamy o czym mowic.
Jestem jaki jestem
|
|
|
|
Andiv |
Dodany dnia 12.08.2007 22:51:14
|
Przedszkolak
Postów: 70
Data rejestracji: 01.05.2007 19:39
|
No... wnioskuje to z tego znalezionego kodu..
mysql_close($link);
$link=dbconnect('HOST_INNEJ_BAZY', 'USER_INNEJ_BAZY', 'HASLO_INNEJ_BAZY', 'NAZWA_INNEJ_BAZY);
openside("Ostatnio na forum");
$limit = 20;
$result = dbquery("SELECT *
FROM `ibf_topics`ORDER BY last_post DESC LIMIT $limit");
while ($row = mysql_fetch_array($result))
{
echo '<img src="'.THEME.'images/bullet.gif" alt="PSP Revolution"> <a class=\'top_links\' href=\'http://hard-pc.pl/forum/index.php?showtopic=';
echo($row['tid']);
echo '&view=getnewpost\' title=\'';
echo($row['title']);
echo '\'>';
echo(trimlink($row['title'],30));
echo '</a>';
echo '<br>';
}
closeside();
$link=dbconnect($db_host, $db_user, $db_pass, $db_name);
Najpierw następuje zamknięcie bazy, później otwarcie drugiej, odczyt, zamknięcie drugiej i ponowne otwarcie pierwszej (chyba że sie myle).
Oczywiscie wiem, że jak piszesz, że sie da to da się napewno...;)
W każdym bądź razie działa po wstawieniu swojego kodu.
Pomagam przy stronie, przerabiam skórki do php-fusion, oczywiście komercyjnie.
Wszedzie dobrze ale na 127.0.0.1 najlepiej xD
Na miły Bóg, życie nie po to tylko jest, by brać
Życie nie po to, by bezczynnie trwać
I aby żyć siebie samego trzeba dać
|
|
|
|
Pieka |
Dodany dnia 12.08.2007 22:55:26
|
Postów: 19882 Pomógł: 767
v7.02.03 Data rejestracji: 23.02.2005 18:12
|
Andiv napisał/a:
..Najpierw następuje zamknięcie bazy, później otwarcie drugiej, odczyt, zamknięcie drugiej i ponowne otwarcie pierwszej (chyba że sie myle)... Oczywiscie wiem, że jak piszesz, że sie da to da się napewno... ..
Zobacz i nie watp wiecej http://www.php-fu...post_67350
Edytowane przez Pieka dnia 12.08.2007 22:57:53
Jestem jaki jestem
|
|
|
|
Andiv |
Dodany dnia 15.08.2007 15:17:05
|
Przedszkolak
Postów: 70
Data rejestracji: 01.05.2007 19:39
|
lekcja zrozumiana ;)
Co do mojego problemu za wcześnie sie cieszyłem, po modyfikacji mojego pliku i wstawienie w funkcji render_footer mojego thema o tak :
function render_footer($license=false) {
global $theme_width,$settings,$locale;
echo "</tr>\n</table>\n";
echo "<table cellpadding='2' cellspacing='0' width='$theme_width'><tr>";
echo "<td>".stripslashes($settings['footer'])."<br>";
echo "<table style='background-image:url(".THEME."images/cellpic_nav.gif);border: 1px solid #8A8573' cellSpacing='0' cellPadding='2' width='100%' border='0'>";
echo "<tr><td height='28' width='35%' class='footer' align='left'><div align='left'>";
if ($license == false) {
echo "Powered by <a target='_blank' href='http://www.php-fusion.co.uk'>PHP-Fusion</a> © 2003-2006";
}
echo "</div></td>";
echo "<td class='footer' height='28' width='20%'align='center'>Azara Theme by: <a href='http://www.phpfusion-themes.com' target='_blank'>PHP-Fusion Themes</a>";
echo "<td class='footer' height='28' width='35%' align='right'>";
echo "<font class='visits'><b>".$settings['counter']." </b></font>".($settings['counter'] == 1 ? $locale['140']."\n" : $locale['141']."\n");
echo "</td></tr></table></td>";
echo "</tr></table></td></tr></table>";
echo "<td width='25' nowrap='nowrap' class='righttd'></td></table>";
echo "<br><table align='center' class='bodyline' width='$theme_width' height='80' cellspacing='0' cellpadding='0' border='0'>";
echo "<tr><td>";
[b]$con = mysql_connect('localhost', 'root', 'haslo) or die(mysql_error());
mysql_select_db('linkarz') or die(mysql_error());
$wynik_linkarz = mysql_query('select links_linki.adres,links_linki.anchor,links_linki.title,links_linki.tekstprzed,links_linki.tekstza from `links_linki`,`links_naszestrony` where data_start < '.time().' and ((data_start + 86400 * ile_dni) > '.time().' or ile_dni=0) and links_linki.id_naszej_strony = links_naszestrony.id and links_naszestrony.adres = \'http://extreme-pc.net\' order by links_linki.kolejnosc');
while ($rekord_linkarz = mysql_fetch_array($wynik_linkarz))
{
echo $rekord_linkarz['tekstprzed'].'<a href="'.$rekord_linkarz['adres'].'" title="'.$rekord_linkarz['title'].'" target="_blank">'.$rekord_linkarz['anchor'].'</a>'.$rekord_linkarz['tekstza'].' ';
// Je?li chcesz, aby linki wy?wietla?y si? jeden pod drugim, w miejsce w wierszu powy?ej wstaw <br />[/b]
}
closetable();
$link = dbconnect($db_host, $db_user, $db_pass, $db_name);
echo "</td></tr></table><br>";
}
Kod działa prawidłowo, robi to co ma robić, ale wyrzuca mi taki błąd
Unable to establish connection to MySQL
1046 : No database selected
Przecież baza danych została wybrana na samym początku, z resztą się z nią połączył, więc co jest grane ?
EDIT///
Po paru godzinach nad kodem sam rozwiązałem mój problem. Przegapiłem zdefiniowanie zmiennych globalnych w funkcji...
function render_footer($license=false) {
global $theme_width,$settings,$locale,[b]$db_host,$db_user,$db_pass,$db_name;[/b]
echo "</tr>\n</table>\n";
echo "<table cellpadding='2' cellspacing='0' width='$theme_width'><tr>";
echo "<td>".stripslashes($settings['footer'])."<br>";
echo "<table style='background-image:url(".THEME."images/cellpic_nav.gif);border: 1px solid #8A8573' cellSpacing='0' cellPadding='2' width='100%' border='0'>";
echo "<tr><td height='28' width='35%' class='footer' align='left'><div align='left'>";
if ($license == false) {
echo "Powered by <a target='_blank' href='http://www.php-fusion.co.uk'>PHP-Fusion</a> © 2003-2006";
}
echo "</div></td>";
echo "<td class='footer' height='28' width='20%'align='center'>Azara Theme by: <a href='http://www.phpfusion-themes.com' target='_blank'>PHP-Fusion Themes</a>";
echo "<td class='footer' height='28' width='35%' align='right'>";
echo "<font class='visits'><b>".$settings['counter']." </b></font>".($settings['counter'] == 1 ? $locale['140']."\n" : $locale['141']."\n");
echo "</td></tr></table></td>";
echo "</tr></table></td></tr></table>";
echo "<td width='25' nowrap='nowrap' class='righttd'></td></table>";
echo "<br><table align='center' class='bodyline' width='$theme_width' height='80' cellspacing='0' cellpadding='0' border='0'>";
echo "<tr><td>";
$con = mysql_connect('localhost', 'root', 'deklinacja') or die(mysql_error());
mysql_select_db('linkarz') or die(mysql_error());
$wynik_linkarz = mysql_query('select links_linki.adres,links_linki.anchor,links_linki.title,links_linki.tekstprzed,links_linki.tekstza from `links_linki`,`links_naszestrony` where data_start < '.time().' and ((data_start + 86400 * ile_dni) > '.time().' or ile_dni=0) and links_linki.id_naszej_strony = links_naszestrony.id and links_naszestrony.adres = \'http://extreme-pc.net\' order by links_linki.kolejnosc');
while ($rekord_linkarz = mysql_fetch_array($wynik_linkarz))
{
echo $rekord_linkarz['tekstprzed'].'<a href="'.$rekord_linkarz['adres'].'" title="'.$rekord_linkarz['title'].'" target="_blank">'.$rekord_linkarz['anchor'].'</a>'.$rekord_linkarz['tekstza'].' ';
// Je?li chcesz, aby linki wy?wietla?y si? jeden pod drugim, w miejsce w wierszu powy?ej wstaw <br />
}
closetable();
echo "</td></tr></table><br>";
[b]$link = dbconnect($db_host, $db_user, $db_pass, $db_name);[/b]
}
Temat można zamknąć.
Edytowane przez Andiv dnia 15.08.2007 23:05:08
Pomagam przy stronie, przerabiam skórki do php-fusion, oczywiście komercyjnie.
Wszedzie dobrze ale na 127.0.0.1 najlepiej xD
Na miły Bóg, życie nie po to tylko jest, by brać
Życie nie po to, by bezczynnie trwać
I aby żyć siebie samego trzeba dać
|
|
|