Ocena wątku:
- 1 głosów - średnia: 5
- 1
- 2
- 3
- 4
- 5
Problem z PHP i bazą danych
|
Liczba postów: 21
Liczba wątków: 6
Dołączył: 15-03-2010
Reputacja:
0
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>
Liczba postów: 938
Liczba wątków: 22
Dołączył: 21-01-2009
Reputacja:
23
Zrób print_r po kolei wszystkich zmiennych, w końcu natrafisz na tą która jest pusta - po sznurku dojdziesz do celu.
Liczba postów: 296
Liczba wątków: 1
Dołączył: 11-12-2009
Reputacja:
9
A co to jest za zmienna $dbs?
Liczba postów: 21
Liczba wątków: 6
Dołączył: 15-03-2010
Reputacja:
0
18-03-2010, 01:28
(Ten post był ostatnio modyfikowany: 18-03-2010, 02:13 przez Pawel1503.)
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
Liczba postów: 938
Liczba wątków: 22
Dołączył: 21-01-2009
Reputacja:
23
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.
Liczba postów: 21
Liczba wątków: 6
Dołączył: 15-03-2010
Reputacja:
0
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.
Liczba postów: 296
Liczba wątków: 1
Dołączył: 11-12-2009
Reputacja:
9
Proponuję poczytać jakieś podstawowe kursy PHP+MySQL, bo to co wklejasz jest wybrakowane i bezwartościowe.
Liczba postów: 21
Liczba wątków: 6
Dołączył: 15-03-2010
Reputacja:
0
18-03-2010, 14:18
(Ten post był ostatnio modyfikowany: 18-03-2010, 14:19 przez Pawel1503.)
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>
Liczba postów: 1,054
Liczba wątków: 0
Dołączył: 28-05-2009
Reputacja:
22
18-03-2010, 14:33
(Ten post był ostatnio modyfikowany: 18-03-2010, 14:35 przez KowR.)
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
Liczba postów: 21
Liczba wątków: 6
Dołączył: 15-03-2010
Reputacja:
0
Ooo działa! - rzeczywiście trzeba było to zapytanie zrobić. Wielkie dzięki wszystkim!
|
Podobne wątki… |
Wątek: |
Autor |
Odpowiedzi: |
Wyświetleń: |
Ostatni post |
|
cron nie łączy się z bazą danych |
michalszyd |
3 |
5,003 |
18-01-2018, 06:15
Ostatni post: ytprzetwornik
|
|
Pobieranie danych z dwóch baz danych |
jarekcda |
2 |
5,187 |
28-11-2016, 11:55
Ostatni post: ania9
|
|
podział danych za pomocą substr |
ppsqm |
1 |
4,143 |
18-06-2014, 15:18
Ostatni post: Kartofelek
|
|
Przywrócenie bazy danych/struktury z plików OPT i FRM |
smiesznylolek |
0 |
3,257 |
19-11-2013, 16:28
Ostatni post: smiesznylolek
|
|
wyciągnięcie danych |
kendry |
7 |
6,886 |
17-06-2013, 13:26
Ostatni post: kendry
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|