Zla odpowiedz SQL

0

Mam baze sql, w której jednym z rekordów jest:
[code]CREATE TABLE osoba (
id int(8) NOT NULL auto_increment ,
ip varchar(17) ,
nazwisko varchar(20),
lokal varchar(5),
dostep int(1),
PRIMARY KEY (id)
);[/code]

na mojej stronce, mam kawalek kodu, który po IP kompa ma wyswietlic jakies dane:

Mam baze sql, w której jednym z rekordów jest:

$db = mysql_connect("localhost", "root");
         if (!$db): echo("brak polaczenia z baza"); endif;

                 mysql_select_db("siec", $db);
                 
$ip=$REMOTE_ADDR;
$sql="SELECT  nazwisko FROM osoba WHERE ip =$ip";

$nazwa=mysql_query($sql);
echo $nazwa;

jeden z wpisów wyglądał następująco:

[code]INSERT INTO osoba ( id , ip , nazwisko , lokal , dostep )
VALUES (
'2', '192.168.1.2', 'Admin', 'A1', '1'
);[/code]

No i cała sprawa polega na tym ze jezeli polacze sie z kompa o IP: 192.168.1.2 to $nazwa==Admin, a tak nie jest.

GDZIE MOZE TKWIC BLAD ????

0

Ja tam się nie znam na MySQL ale może chodzi o uszy ?
"SELECT nazwisko FROM osoba WHERE ip='$ip'" <-- ło tutaj...

0

INSERT INTO osoba ( id , ip , nazwisko , lokal , dostep )
VALUES (
'2', '192.168.1.2', 'Admin', 'A1', '1'
);

Po pierwsze jezeli pole ID masz auto_increment to nie widze potrzeby podawania go w zapytaniu, ja bym to zapytanie zapisal tak:

INSERT INTO osoba SET ip='192.168.1.2',nazwisko='Admin',lokal='A1',dostep='1';

A po drugie tu masz błąd:

$sql="SELECT nazwisko FROM osoba WHERE ip =$ip";

$nazwa=mysql_query($sql);
echo $nazwa;

Mysql_query nie zwraca jeszcze wyniku tylko identyfikator wyniku.
http://pl2.php.net/manual/pl/function.mysql-query.php

Jest wiele mozliwosci ale np.
[code]
$sql="SELECT nazwisko FROM osoba WHERE ip =$ip";
$nazwa=mysql_query($sql);
$nazwa_wynik = mysql_fetch_array($nazwa);
echo $nazwa_wynik[0];
[/code]
Jezeli chcialbys zrobic zapytanie , ktore moze zwrocic wiecej niz jeden wynik musisz funkcje mysql_fetch_array umiescic w petli while:
while ($nazwa_wynik = mysql_fetch_array($nazwa))
{
wyswietlanie kolejnych rekordow;
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1