09. oktober 2008 - 15:02Der er
18 kommentarer og 2 løsninger
Funktion som preg_match i mysql-forespørgsel?
Hej.
Jeg er ved at lave en gæstebog og skal dertil lave en ip-ban.
Jeg har lavet en ip-ban ved hjælp af preg_match, men kan jeg lave en direkte i en sql-forespørgsel, så jeg banner ip'er der indeholder nogle af min kriterier?
Eksempel:
$remote_ip = $_SERVER['REMOTE_ADDR']; $query = mysql_query("SELECT ip FROM ipban WHERE '$remote_ip' LIKE ip");
Jeg ønsker at kunne banne alle ip'er der kan opfylde disse som står i Databasen: * 80.164.38.* * *.164.38.47
Du kan bruge LIKE mysql_query("SELECT ip FROM banlist WHERE ip LIKE 127.0.0.%"); eller mysql_query("SELECT ip FROM banlist WHERE ip LIKE %.0.0.1");
Det den gør er at den matcher alt det starter med 127.0.0. og så kan alt skrives efter. det kunne f.eks. være 127.0.0.9999999, det er ikke den løsning jeg ville vælge at bruge men du kan lave det på den måde.
Okay. Jeg skulle bruge % i stedet for *. Tak til jer begge to. Jeg vælger at starte med at bruge LIKE funktionen. Men det er ikke utænkeligt at løsningen med inet_aton er bedst i det lange løb.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.