Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pytanie o parametry kolumny - nie poprzez mysql_field, wydajnośc, pytanie o parametry kolumny - nie poprzez mysql_field, wydajność
ziel_inf
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.05.2011

Ostrzeżenie: (0%)
-----


witam
Chce pobrać informacje o parametrach kolumny MySql (długość , typ, itp).
obecnie robię to poprzez pytanie
  1. $query=mysql_query("SELECT * FROM $tabela_SQL"); //za duzo danych pobiera
  2. $i = 0;
  3. while ($i < mysql_num_fields ($query)) { //przeszukuje kolumny w sql
  4. $field_flag=mysql_field_flags($query,$i);
  5. $length = mysql_field_len($query, $i);
  6. $type = mysql_field_type ($query, $i);
  7. $name = mysql_field_name($query, $i);
  8. $i++;
  9. }

Wydaje się to mocno NIE WYDAJNE. (SELECT wszystko z tabeli).

Czy jest lepsze rozwiązanie (pobranie tylko parametrów pola/kolumny bez pobierania zawartości pól?)

Na razie omijam problem pleceniem SELECT * FROM $tabela_SQL WHERE .... ( pobiera tylko jeden wiersz). Ale co w przypadku pustej tabeli SQL ?
z góry dzieki.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

Ostrzeżenie: (0%)
-----


Posłuż się zapytaniem:
  1. SHOW COLUMNS FROM `table`

Przykład w manualu.
Alternatywą będzie wydobycie odpowiednich informacji z tabeli COLUMNS bazy INFROMATION_SCHEMA.
Go to the top of the page
+Quote Post
ziel_inf
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 24.05.2011

Ostrzeżenie: (0%)
-----


Dzięki
Niech CI klienci w zleceniach wynagrodzą.
Wysupłanie długości kolumny
  1. $query = mysql_query ("SHOW COLUMNS FROM $tabela FROM $sql_nazwa_bazy");
  2.  
  3. while ($row = mysql_fetch_assoc ($query))
  4. {
  5. echo 'Nazwa kolumny: '.$row[Field].'<br>';
  6. echo 'Typ kolumny: '.$row[Type].'<br>';
  7. preg_match("#[0-9]+#", $row[Type], $matches);
  8. echo 'Dlugosc kolumny: '.$matches[0].'<br>';
  9. // [Type] => int(7);
  10. // [Null] =>
  11. // [Key] => PRI
  12. echo 'klucz kolumny: '.$row[Key].'<br>';
  13. echo 'dodatki kolumny: '.$row[Extra].'<br>';
  14. // [Default] =>
  15. // [Extra] => auto_increment
  16. echo '<hr>';
Go to the top of the page
+Quote Post
alegorn
post
Post #4





Grupa: Zarejestrowani
Postów: 341
Pomógł: 40
Dołączył: 23.06.2009

Ostrzeżenie: (0%)
-----


a nie prosciej :

  1. DESCRIBE `baza`.`tabela`;


masz wszystkie informacje dotyczace tabeli....

ewentualnie :
  1. SHOW CREATE TABLE `uslugozercy_dane`.`branza_nace`;



j.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 14.09.2025 - 22:08