Jak sprawdzić typy i atrybuty ustawione dla każdej z kolumn tabeli.doc

(28 KB) Pobierz
[MySQL][PHP] Jak sprawdzić typy i atrybuty ustawione dla każdej z kolumn tabeli

[MySQL][PHP] Jak sprawdzić typy i atrybuty ustawione dla każdej z kolumn tabeli?

Problem

Chcesz dowiedzieć się, jakiego typu pola znajdują się w tabeli z bazy danych i jakie mają dodatkowe atrybuty, co może wyglądać następująco dla przykładowej tabeli pracownicy:

pole

typ

długość

atrybuty

id:

int

11

not_null primary_key auto_increment

imie:

string

100

 

nazwisko:

string

100

not_null

Rozwiązanie

Nie zawsze mamy pod ręką opis utworzonej tabeli, typy danych, długości pól oraz przypisane im atrybuty dodatkowe. Można je bardzo łatwo odczytać aby sprawdzić czy wpisywane do tabeli informacje będą pasowały do definicji kolumn. Zobacz jak to zrobić:

<?

$baza = mysql_connect("localhost", "user", "password");

mysql_select_db("baza1",$baza);

$wynik = mysql_query("SELECT * FROM gal_artysta LIMIT 1",$baza);

mysql_close($baza);

 

echo "<table cellpadding=3><tr>

<td><b>pole</b></td>

<td><b>typ</b></td>

<td><b>długość</b></td>

<td><b>atrybuty</b></td></tr>";

 

for ($i=0;$i<mysql_num_fields($wynik);$i++) {

  echo "<tr><td><b>".mysql_field_name($wynik,$i).":</b></td>";

  echo "<td>".mysql_field_type($wynik,$i)."</td>";

  echo "<td>".mysql_field_len($wynik,$i)."</td>";

  echo "<td>".mysql_field_flags($wynik,$i)."</td></tr>";

}

echo "</table>";

?>

To bardzo prosty zabieg, który polega na odczytaniu jednego rekordu (LIMIT 1) z określonej tabeli i wypisaniu dla każdej kolumny odpowiadających jej właściwości.

Funkcja mysql_field_name() zwraca nazwę pola, mysql_field_type() pobiera typ, mysql_field_len() pozwala określić długość pola, a mysql_field_flags() odczytuje dodatkowe atrybuty.

Całość została wypisana w postaci tabelki, aby w sposób czytelny zaprezentować dane.

 

...
Zgłoś jeśli naruszono regulamin