Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Problem z PHP i bazą danych - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Programowanie, Bazy danych (https://www.webmastertalk.pl/forum-programowanie-bazy-danych)
+--- Wątek: Problem z PHP i bazą danych (/thread-problem-z-php-i-baza-danych)



Problem z PHP i bazą danych - Pawel1503 - 17-03-2010

Mam taki problem. Zrobiłem taki kod który ma za zadanie pobranie listy tabel z baazy danych. Niestety gdy próbuje go włączyć - albo pojawia się całe białe tło - albo pojawia się wszystko oprócz tej listy. Jak to naprawić?

<?php
$connection = mysql_connect("*********", "*********", "********") or die("Polaczenie nie powiodlo sie");
if($connection)
{
$msg = "Połączyłem sie z baza danych !!!";
$db_list = "<ul>";
$i = 0;
while($i < mysql_num_rows($dbs))
{
$db_names[$i] = mysql_tablename($dbs, $i);
$db_list .= "<li>$db_names[$i]";
$i++;
}
$db_list .= "</ul>";
}
?>

<HTML>
<HEAD>
<TITLE> Tabele</TITLE>
</HEAD>
<BODY>
<?php echo "$msg"; ?>
<p><strong>Bazy danych i tabele na stronie</strong>:</p>
<?php echo "$db_list"; ?>
</BODY>
</HTML>


RE: Problem z PHP i bazą danych - dziamber - 17-03-2010

Zrób print_r po kolei wszystkich zmiennych, w końcu natrafisz na tą która jest pusta - po sznurku dojdziesz do celu.


RE: Problem z PHP i bazą danych - Dhofca - 17-03-2010

A co to jest za zmienna $dbs?


RE: Problem z PHP i bazą danych - Pawel1503 - 18-03-2010

Dhofca - a poprawka - teraz ten kod wygląda tak ale efekty są takie same oprócz tego że strona ładuje się dłużej o ok. 5 sekund. Zmienna $dbs odpowiada chyba za połączenie.

<?php
$dbs = @mysql_connect("mysql.cba.pl", "*****", "*****") or die("Polaczenie nie powiodlo sie");
if($dbs)
{
$msg = "Połączyłem sie z baza danych !!!";
$db_list = "<ul>";
$i = 0;
while($i < mysql_num_rows($dbs))
{
$db_names[$i] = mysql_tablename($dbs, $i);
$db_list .= "<li>$db_names[$i]";
echo "$db_names[$i]<p>";
$i++;
}
$db_list .= "</ul>";
}
?>

<HTML>
<HEAD>
<TITLE> Tabele</TITLE>
</HEAD>
<BODY>
<?php echo "$msg"; ?>
<p><strong>Bazy danych i tabele na stronie</strong>:</p>
<?php echo "$db_names"; ?>
</BODY>
</HTML>
Wiecie co - gdy wpisałem zmienna $i - okazało się że ta pętla chyba wogóle się nie wykonuje. A jeżeli się nie wykonuje to znaczy że mysql_num_rows($dbs) = 0. Czyż nie jest tak?

Strone mam na serwerze cba.pl - baze danych mysql.cba.pl


RE: Problem z PHP i bazą danych - dziamber - 18-03-2010

Zmienna chyba odpowiada za połączenie - to ty nie wiesz co masz w kodzie? Sprawdz lepiej czy prawidłowo pobierasz dane z bazy, bo mi tu brakuje odwołania do bazy typu "SELECT * FROM tabela", albo nie wkleiłeś całego kodu albo po prostu łączysz się z bazą a nie pobierasz danych.


RE: Problem z PHP i bazą danych - Pawel1503 - 18-03-2010

No dobra, to jest trochę za tródne więc wziąłem kolejny kod który nie działa. Ma on za zadanie połączyć się z bazą danych i stworzyć tabele "zawodnicy.

<?php
$dbs = @mysql_pconnect("mysql.cba.pl:3306", "*********", "*******") or die("Polaczenie nie powiodlo sie");
if($connection)
{
$msg = "Połączyłem sie z baza danych !!!";
}
mysql_create_db('zawodnicy');
mysql_select_db('zawodnicy');
?>

<HTML>
<HEAD>
<TITLE> Tabele</TITLE>
</HEAD>
<BODY>
<?php echo "$msg"; ?>
<p><strong>Bazy danych i tabele na stronie</strong>:</p>
<?php echo "$dbs"; ?>
</BODY>
</HTML>

Ale zamiast tego - pojawia mi się tylko biały ekran - nawet bez tytułu strony z czego wnioskuje że nie dochodzi do zrobienia rzeczy między słowami HTML.


RE: Problem z PHP i bazą danych - Dhofca - 18-03-2010

Proponuję poczytać jakieś podstawowe kursy PHP+MySQL, bo to co wklejasz jest wybrakowane i bezwartościowe.


RE: Problem z PHP i bazą danych - Pawel1503 - 18-03-2010

Przepisałem (tym razem poprawnie) kod. Rzeczywiście w tamtych dużo brakowało. Ale przy tym też jest błąd bo nie można uzyskać danych z bazy danych.

<?php
$connection = mysql_connect("mysql.cba.pl", "***********", "**********") or die("Polaczenie nie powiodlo sie");
$dbs = mysql_list_dbs($connection) or die("Próba uzyskania listy bazy danych nie powiodła się !");

$db_list = "<ul>";
$i = 0;
while($i < mysql_num_rows($dbs))
{
$db_names[$i] = mysql_tablename($dbs, $i);
$db_list .= "<li>$db_names[$i]";
$i++;
}

$db_list .= "</ul>";
?>

<HTML>
<HEAD>
<TITLE> Tabele</TITLE>
</HEAD>
<BODY>

<p><strong>Bazy danych i tabele na stronie</strong>:</p>
<?php echo "$db_list"; ?>
</BODY>
</HTML>


RE: Problem z PHP i bazą danych - KowR - 18-03-2010

No, ale gdzie masz zapytanie do BD? ;/

Podstawy PHP + MySQL

Tak budujesz zapytania: http://home.pl/dokumentacja/kursy/sql/pobieranie
Musisz wskazać co i z której tabeli i ile chcesz pobrać... Np. 2-3 rekordy, albo wszystkie. Ty się łączysz z bazą danych, wybierasz bazę danych, ale nie wskazujesz z której tabeli chcesz pobrać.

Edit:
Tu masz przedstawiony skrypt pobierania danych z BD: http://www.docmirror.net/pl/php/ref.mysql.html


RE: Problem z PHP i bazą danych - Pawel1503 - 18-03-2010

Ooo działa! - rzeczywiście trzeba było to zapytanie zrobić. Wielkie dzięki wszystkim!