mysql: kolumn med autoifyllt ip-nummer?
mysql: kolumn med autoifyllt ip-nummer?
Finns det något sätt att få en kolumn i en MySQL tabell att automatisk fyllas med ip-numret för den klient som lagrade posten/raden ifråga?
Det är alltså MySQL-servern som ska notera varifrån anslutningen kom och på egen hand peta hand peta in det värdet i kolumnen då en ny rad insertas. Tänker mig ett beteende inte helt olikt den där en kolumn automatiskt fyllas med en timestamp.
Utifrån vad jag kan läsa mig till i MySQL:s dokumentation så finns det inget trivialt sätt att åstadkomma detta på? Måhända så att någon känner till ett lite listigare och kreativare lösning?
Det är alltså MySQL-servern som ska notera varifrån anslutningen kom och på egen hand peta hand peta in det värdet i kolumnen då en ny rad insertas. Tänker mig ett beteende inte helt olikt den där en kolumn automatiskt fyllas med en timestamp.
Utifrån vad jag kan läsa mig till i MySQL:s dokumentation så finns det inget trivialt sätt att åstadkomma detta på? Måhända så att någon känner till ett lite listigare och kreativare lösning?
- maths57
- Inlägg: 2911
- Blev medlem: 22 jun 2007, 15:10
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Stockholm
Re: mysql: kolumn med autoifyllt ip-nummer?
Skjuter vilt! Jag vet att man i JavaScript kan få fram det IP-nummer besökaren har. Borde det inte finnas även i PHP? I så fall borde det väl gå att skriva en lite kodsnutt som följer med in i MySQL? Eller?
- Thomas
- Inlägg: 320
- Blev medlem: 07 jan 2006, 02:01
- OS: Ubuntu
- Utgåva: 23.04 Lunar Lobster
- Ort: malmö
Re: mysql: kolumn med autoifyllt ip-nummer?
det går att fånga upp ip-nummer med php. gjorde en besöksräknare för ett par år sen i php o mysql.. ska se om jag har kvar den på server.
- mcNisse
- Inlägg: 5211
- Blev medlem: 06 feb 2007, 20:51
- OS: Debian
- Utgåva: Vet inte/ingen utgåva passar
Re: mysql: kolumn med autoifyllt ip-nummer?
Det borde gå. När man kör mysql administrator kan ju se ipadresser för de uppkopplingar som finns.
Jag tycker att det borde gå att skapa en trigger som lägger in informationen när man gör insert/udate... men jag har inte testat och har ingen aning om vilken tabell man ska slå i för att få fram informationen. Det finns ett kommando
show processlist
som listar processer...
Jag tycker att det borde gå att skapa en trigger som lägger in informationen när man gör insert/udate... men jag har inte testat och har ingen aning om vilken tabell man ska slå i för att få fram informationen. Det finns ett kommando
show processlist
som listar processer...
Re: mysql: kolumn med autoifyllt ip-nummer?
maths57 & Thomas: Tror nog att ni missuppfattade min fråga lite lätt. Själva magin ska alltså ske i själva mysqld och det är mysql-clientens ip-nummer, inte någon webbesökare, jag är ute efter. Tack i alla fall.
mcNisse: Jo, på något sätt tycker man att det borde gå. Som du säger så håller mysqld uppenbarligen koll på varifrån en uppkoppling kommer ifrån. Om inte annat så är det ju ett kriterie i authentiseringen. Antagligen har du rätt i lösningen ligger i att använda triggers, vilket förövrigt är ett område där jag är helt grön. Sålunda dags att lära sig något nytt :-)
mcNisse: Jo, på något sätt tycker man att det borde gå. Som du säger så håller mysqld uppenbarligen koll på varifrån en uppkoppling kommer ifrån. Om inte annat så är det ju ett kriterie i authentiseringen. Antagligen har du rätt i lösningen ligger i att använda triggers, vilket förövrigt är ett område där jag är helt grön. Sålunda dags att lära sig något nytt :-)
- Iceron
- Inlägg: 387
- Blev medlem: 22 jun 2007, 21:16
- OS: Ubuntu
- Utgåva: 12.04 Precise Pangolin LTS
- Kontakt:
Re: mysql: kolumn med autoifyllt ip-nummer?
Kod: Markera allt
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$connect = mysql_connect('localhost', 'user, 'pass');
mysql_select_db('raknare');
$sql = mysql_query("
SELECT * FROM raknare WHERE ip = '".$ip."'
");
if (mysql_num_rows($sql) == 0) {
$sqlrakna = mysql_query("
INSERT raknare (ip)
VALUES ('$ip')
");
php?>

hoppas den kommer till användning!
(inte jag som skrivit den btw)
- Thomas
- Inlägg: 320
- Blev medlem: 07 jan 2006, 02:01
- OS: Ubuntu
- Utgåva: 23.04 Lunar Lobster
- Ort: malmö
Re: mysql: kolumn med autoifyllt ip-nummer?
jag vet inte..men skulle gisssa på att ip-nummer och sånt logars i någon log fil till mysql, hittar man bara rätt fil så skulle man kunna köra ett script som körs en gång i halvtimmen eller nått och importera dom där i från till en tabel eller liknade..
- maths57
- Inlägg: 2911
- Blev medlem: 22 jun 2007, 15:10
- OS: Ubuntu
- Utgåva: 22.10 Kinetic Kudu
- Ort: Stockholm
Re: mysql: kolumn med autoifyllt ip-nummer?
Låter du besökarna ansluta direkt till MySQL? Jag vet att programmet kan se ip-adresser om man försöker ansluta direkt till databasen. Annars brukar man väl ha något skript som sköter kontakten mellan webbsidan och databasen.andol skrev:Finns det något sätt att få en kolumn i en MySQL tabell att automatisk fyllas med ip-numret för den klient som lagrade posten/raden ifråga?
Re: mysql: kolumn med autoifyllt ip-nummer?
Detta rör sig inte om en webbapplikation. Begreppet besökare är inte riktigt tillämpbart i sammanhanget.maths57 skrev:Låter du besökarna ansluta direkt till MySQL? Jag vet att programmet kan se ip-adresser om man försöker ansluta direkt till databasen. Annars brukar man väl ha något skript som sköter kontakten mellan webbsidan och databasen.