Gå til innhold

Anbefalte innlegg

Heisann!

 

Jeg sliter med spam på bloggen min, for å si det slik..

 

Jeg kjører en delete-setning på forskjellige ord som blir lagt inn, men når jeg nå prøver å legge til nye ord, funker det ikke... Jeg skriver ikke noe feil, det er ikke noe problem. Det jeg lurer på er om det er noen begrensning på hvor lang en spørring kan være?

Lenke til kommentar
Videoannonse
Annonse
Jeg kjører en delete-setning på forskjellige ord som blir lagt inn, men når jeg nå prøver å legge til nye ord, funker det ikke... Jeg skriver ikke noe feil, det er ikke noe problem. Det jeg lurer på er om det er noen begrensning på hvor lang en spørring kan være?

7127427[/snapback]

Den begrensningen er vel typisk så stor at det ikke bør være noe problem, men hva med å poste litt kode slik at vi ser hva du prøver på?

Lenke til kommentar

Den er grei :)

 

@mysql_query("DELETE FROM kommentar WHERE kommentar LIKE '%ringtones%' OR kommentar LIKE '%poker%' OR kommentar LIKE '%sex%'");

 

Dette er selvsagt et lite utkast, denne spørringen inneholder mye, mye mer, for å si det slik. Men nå i det siste har det ikke fungert med å sette inn ord som spam-botene sender...

Lenke til kommentar
Den er grei :)

 

@mysql_query("DELETE FROM kommentar WHERE kommentar LIKE '%ringtones%' OR kommentar LIKE '%poker%' OR kommentar LIKE '%sex%'");

 

Dette er selvsagt et lite utkast, denne spørringen inneholder mye, mye mer, for å si det slik. Men nå i det siste har det ikke fungert med å sette inn ord som spam-botene sender...

7127673[/snapback]

Du kan prøve å legge de bannede ordene inn i en egen tabell, og kjøre en spørring á la dette:

 

delete from tabell t2 where exists (select * from tabell t1 inner join blocklist b on t.kommentar like '%'+b.word+'%' where t1.id = t2.id)

Lenke til kommentar
Hmm, det kan jeg jo gjøre..

 

Kunne du gitt en forklaring på hva som skjer her da? t2 og t1 er to forskjellige tabeller, hvis jeg har skjønt det rett!?

7127824[/snapback]

t1 og t2 er to alias for samme tabell som inneholder kommentarene, og vi ber om å slette alle radene hvor det eksisterer en kommentar som kan knyttes opp mot et ord som ligger i svartelista. Jeg mener bestemt det skal fungere.

Lenke til kommentar
Hmm.. to alias?

 

Hvilke felter mener du den nye tabellen bør inneholde da, for å få det beste resultatet?

7128075[/snapback]

Den nye tabellen MÅ bare ha en kolonne, for ordet som ikke skal forekomme i et innlegg. Men det kan være fordelaktig med en surrogatnøkkel i tillegg, som evt kan brukes ved f eks oppdatering og sletting av rader.

Lenke til kommentar

Okei.. Opprettet en ny tabell med navn spam nå, med spamID som primærnøkkel og word som det andre elementet i tabellen.

 

Spørringen bør bli seende ut noe ala dette?

 

delete from spam t2 where exists (select * from spam t1 inner join blocklist b on t.kommentar like '%'+b.word+'%' where t1.id = t2.id)

Lenke til kommentar
Okei.. Opprettet en ny tabell med navn spam nå, med spamID som primærnøkkel og word som det andre elementet i tabellen.

 

Spørringen bør bli seende ut noe ala dette?

 

delete from spam t2 where exists (select * from spam t1 inner join blocklist b on t.kommentar like '%'+b.word+'%' where t1.id = t2.id)

7128694[/snapback]

I mine ører klinger det ganske godt, og så håper jeg at det fungerer fint for deg :)

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...