Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL] SELECT - zdefiniowanie jednego pola + gwiazdka
Forum PHP.pl > Forum > Przedszkole
Majkelo23
Witam!

Potrzebuję wyciągnąć z tabeli w bazie bez wyjątku, wszystkie pola dla id = 1. Zapytanie w tym wypadku powinno wyglądać tak:
  1. SELECT * FROM `tabela` WHERE id = 1;


jednak ja potrzebuję od razu zamienić adres IP z INT'a na zwykły, czyli: INET_NTOA(`user_lastip`)

I co w tym wypadku? Jak to zapisać?
Ten sposób:

  1. SELECT INET_NTOA(`user_lastip`), (*) FROM `tabela` WHERE id = 1;


sypie błędami.
nospor
A po grzyba gwiazdke wziales w nawias?
Majkelo23
Nie ma to znaczenia, bez nawiasu też wypluwa ten sam błąd.
nospor
SELECT `tabela`.*, INET_NTOA(`user_lastip`) FROM `tabela` WHERE id = 1;
Majkelo23
hm, cholera. Błędu niby już nie ma, ale jak echuję wartość pola user_lastip to zwraca mi dalej formę int'ową, zamiast zwykłej. Czego to może powód?
nospor
SELECT `tabela`.*, INET_NTOA(`user_lastip`) as noweip FROM `tabela` WHERE id = 1;

Twoja wartosc bedzie teraz pod indeksem noweip
Majkelo23
Faktycznie, nie pomyślałem, aby zapisać to pod inną nazwą, dziękuję.
Teraz wyświetla adres IP, jednak błędny (cały czas ten sam), mianowicie: 127.255.255.255
A ja próbowałem dodać do bazy już trzy różne adresy, mimo to wartość powyższa nie zmienia się.

Dodawanie wygląda tak:
  1. UPDATE `tabela` SET user_lastip = INET_ATON('192.168.0.1') WHERE id = 1;


i tak jak mówię, mogę tam wstawić zupełnie inny adres IP, a i tak printuje mi cały czas ww. adres IP.

EDIT:

Moje pole w bazie to INT(20) z atrybutami NOT NULL DEFAULT 0.
nospor
Widac masz inne wartosci niz ci sie wydaje.... wyswietl sobie dokladnie user_lastip jakie masz i zobaczysz
Majkelo23
Edytując zapytanie na takie:

  1. UPDATE `tabela` SET user_lastip = '192.168.0.1' WHERE id = 1;


i zamiana pola z INT na VARCHAR, do bazy wrzuca się prawidłowa wartość, czyt. 192.168.0.1
Nie wiem jak to jest możliwe.

EDIT:

Wszystko działa, chodziło o to, że dodatkowo pole INT musiało mieć nadane UNSIGNED. Teraz śmiga, dziękuję.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.