• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobieranie wszystkich tabel i kolumn z bazy MySQL

Object Storage Arubacloud
0 głosów
3,206 wizyt
pytanie zadane 13 sierpnia 2016 w SQL, bazy danych przez typowy_endriu Użytkownik (620 p.)
Witam,szukam odpowiedzi już na kilku grupkach i stronach i nie mogę znaleść odpowiedzi,dodatkowym utrudnieniem jest to że jestem dopiero początkujący.

Mam przygotowaną bazę danych i formularz do tworzenia tabel w oddzielnym pliku .php więc wszystko działa automatycznie.

Problem polega na tym że nie wiem jak mam skonstruować zapytanie aby wyświetlało mi wszystkie tabele i kolumny na stronie z mojej bazy.

Oczywiście można użyć SELECT imie, nazwisko,punkty FROM tabela ale tych tabel w bazie może być setka w dodatku są one tworzone automatycznie więc nie ma możliwość dodawania ich ręcznie.

Mam nadzieję ze rozumiecie i piszę dla przypomnienia jestem początkujący ale nie zielony  więc nie chciałbym komentarzy typu "użyj gugle,masz w internecie,poczytaj dokumentacje"

Baza MySQL PHP oraz SQL

Jak to ma wyglądać:

 

 

BAZA DANYCH  --> TABELA (tabel może być nawet 100) --> KOLUMNY (imie,nazwisko,punkty)

 

plik .php

 

Imie       Nazwisko     Punkty

1 rekord

2

3

4

5

6        

 

Nie oczekuję gotowego kodu,ale już długo nie mogę sobie z tym poradzić i znacząco przyśpieszyłoby to moją pracę.

Poza tym na przykładach człowiek najlepiej się uczy a wiedza ta na pewno zostanie przezemnie wykorzystana w kolejnych amatorskich projektach

 

Z góry dzięki za odpowiedzi ! :)

2 odpowiedzi

0 głosów
odpowiedź 13 sierpnia 2016 przez Surykat Stary wyjadacz (14,780 p.)

W MSSQL Server zadziałał mi taki kod:

 

USE NORTHWND --tutaj wprowadź nazwę swojej bazy
SELECT *
FROM sys.Tables

Znajdź po prostu miejsce, gdzie w bazie MySQL znajdują się informacje o tabelach w poszczególnych bazach na twoim serwerze. Najlepiej w dokumentacji. :)

komentarz 13 sierpnia 2016 przez typowy_endriu Użytkownik (620 p.)

Wydaje mi się że podrzuciłeś mi przykład z T-SQL który działa na MSSQL

A ja potrzebuję SQL z relacyjną bazą MySQL v. 5.7.11

komentarz 13 sierpnia 2016 przez Surykat Stary wyjadacz (14,780 p.)
Przecież napisałem, że to MSSQL i poradziłem Ci znaleźć analogię dla MySQL- nie chciałeś przecież gotowego kodu, hmm?
komentarz 13 sierpnia 2016 przez typowy_endriu Użytkownik (620 p.)
No racja,po prostu nie spodziewałem się takiej odpowiedzi

Podrzuć w takim razie gotowy kod
komentarz 13 sierpnia 2016 przez Surykat Stary wyjadacz (14,780 p.)
http://dev.mysql.com/doc/refman/5.7/en/show-tables.html

Zajrzyj do dokumentacji- nigdy nie robiłem nic w MySQL więc kodu Ci nie podam, no ale coś tutaj jest, z tego co widzę, wystarczy użyć.
0 głosów
odpowiedź 13 sierpnia 2016 przez xandros Nałogowiec (29,450 p.)
select * from information_schema.tables where table_schema = ? and table_name = ?

Table_name to nazwa tabeli, a table_schema nazwa bazy. (usuń te, których nie będziesz potrzebował)

Jak przerobisz to query wylistujesz w mariaDB nazwy wszystkich tabel i informacje o nich.

komentarz 13 sierpnia 2016 przez typowy_endriu Użytkownik (620 p.)

Zaczynam robić postępy twój kod 

$query  = "SELECT * FROM  information_schema.tables WHERE table_schema = 'zawody";

nie wywala żadnych błędów serwera  ale nic nie wyświetla tylko błąd 

Query failed
$result = mysqli_query($link,$query)



    or die("Query failed");

 

Chciałbym żeby sie to wyświetlało w tabeli albo tablicy asocjacyjnej

 

komentarz 13 sierpnia 2016 przez xandros Nałogowiec (29,450 p.)
Syntax error? nie masz drugiego apostrofa za zawody... i uzywaj bindów.
komentarz 14 sierpnia 2016 przez typowy_endriu Użytkownik (620 p.)

nie wywala żadnych syntaxów poprostu nic nie wyświetla  :( 

Podam cały kod: 

 

<?php
$link = mysqli_connect("localhost", "root", "root")

    or die("Could not connect");

mysqli_select_db($link,"zawody")
    or die("Could not select database");

    mysqli_set_charset($link,"utf8");
$query  = "SELECT imie,nazwisko,punkty FROM  information_schema.tables WHERE table_schema = 'zawody'";



$result = mysqli_query($link,$query)


    or die("Query failed");


mysqli_free_result($result);
mysqli_close($link);


?>

 

komentarz 14 sierpnia 2016 przez xandros Nałogowiec (29,450 p.)

po pierwsze:

> mysqli_select_db($link,"zawody")  or die("Could not select database");

do wywalenia.

po drugie: 

> $query = "SELECT imie,nazwisko,punkty FROM  information_schema.tables WHERE table_schema = 'zawody'";

W nie selektujesz imienia nazwiska i punktow, bo takich kolumn nie ma. Daj *

po trzecie:

Dalej nie masz bindow. http://php.net/manual/en/mysqli.prepare.php

po czwarte:

a gdzie fetchujesz wyniki? http://php.net/manual/en/mysqli-result.fetch-all.php

po piąte:

gdzie var_dumpujesz wyniki? http://php.net/manual/en/function.var-dump.php

komentarz 16 sierpnia 2016 przez typowy_endriu Użytkownik (620 p.)
Nic z tego mi nie działa :/  Nie umiem ułożyć prostego zapytania :(

Podobne pytania

0 głosów
1 odpowiedź 1,673 wizyt
pytanie zadane 29 stycznia 2018 w SQL, bazy danych przez Dagon Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 744 wizyt
pytanie zadane 3 grudnia 2016 w SQL, bazy danych przez DaltooN Początkujący (430 p.)
–3 głosów
2 odpowiedzi 272 wizyt

92,583 zapytań

141,434 odpowiedzi

319,669 komentarzy

61,966 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...