Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[SQL] moeilijke query, raar resultaat?

Pagina: 1
Acties:

  • Sjoerd
  • Registratie: December 2003
  • Niet online
Dit is mijn sql statement:

SQL:
1
2
3
4
5
6
7
8
9
10
SELECT 
    REPLACE(MID(MID(
     previousPageUrl,(INSTR(previousPageUrl,"q=")+2),INSTR(previousPageUrl,"&")),
                1,
                INSTR(MID(
                                previousPageUrl,(INSTR(previousPageUrl,"q=")+2),
                        INSTR(previousPageUrl,"&") ),
                    "&")-1),
    "+"," ") as searchWord
FROM `visitorstatistics`


Het probleem?
Deze werkt alleen als ik een specifieke rij aanduid dus bv where id=3983 dan doet de query het, zonder de id krijg ik gewoon rijen terug met 'searchword' = "" de query doet er eigenlijk dus niet zo veel toe denk ik :)

heb al verschillende keren alles nagelopen maar hij geeft ook geen errors?
Ik gebruik het om het zoekwoord van de vorige url (google bv) op te halen (q=???)

Waar kan hem dit inzitten?

[ Voor 4% gewijzigd door Sjoerd op 11-04-2008 14:44 ]

Modelbouw - Alles over modelbouw, van RC tot diorama


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Of je hebt gewoon rijen waarvoor die string operaties een lege string opleveren. :z
Doe eens een order by length(searchWord) desc? :)

{signature}


  • Sjoerd
  • Registratie: December 2003
  • Niet online
Voutloos schreef op vrijdag 11 april 2008 @ 14:54:
Of je hebt gewoon rijen waarvoor die string operaties een lege string opleveren. :z
Doe eens een order by length(searchWord) desc? :)
Hm dat is raar

MySQL retourneerde:
#1054 - Unknown column 'searchWord' in 'order clause'


ik zeg toch echt as searchWord

... ergens anders dan toch een fout?

Modelbouw - Alles over modelbouw, van RC tot diorama


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Tja, dan c/p je die zooi erin...

Enne, dit is geen moeilijke query, hoogstens een eenvoudige query met allemaal ranzige string funcs. :P

[ Voor 62% gewijzigd door Voutloos op 11-04-2008 15:11 ]

{signature}


  • Aetje
  • Registratie: September 2001
  • Laatst online: 24-03-2023

Aetje

Troubleshooting met HAMERRR

code:
1
2
3
4
                INSTR
                (previousPageUrl,"q=")
                +2),
                INSTR(previousPageUrl,"&")

Hier kan het dus al fout gaan, indien de "q=" na de (eerste) "&" komt. Denk dat je dan een foutcode tegen gaat komen.

Forget your fears...
...and want to know more...


  • Sjoerd
  • Registratie: December 2003
  • Niet online
Voutloos schreef op vrijdag 11 april 2008 @ 15:10:
Tja, dan c/p je die zooi erin...

Enne, dit is geen moeilijke query, hoogstens een eenvoudige query met allemaal ranzige string funcs. :P
Is er een betere/eenvoudigere manier om tekst op te halen in een string die tussen 2 vaste element zit ? nl q en &

q= TEKST &

Modelbouw - Alles over modelbouw, van RC tot diorama


  • Hydra
  • Registratie: September 2000
  • Laatst online: 06-10 13:59
Misschien een idee om die info iets gestructureerder in je tabellen op te slaan? Ik vind dergelijke constructies in een query nogal ranzig nl.

https://niels.nu


  • glrfndl
  • Registratie: Juni 1999
  • Niet online
SQL:
1
2
3
4
5
6
set @s ::= 'http://www.google.nl/search?hl=nl&client=firefox-a&rls=org.mozilla%3Anl%3Aofficial&hs=5iJ&q=fooooo+barrrrr&btnG=Zoeken&meta=';
select substr(@s, locate('q=', @s) + 2, locate('&', substr(@s,locate('q=', @s))) - 3) AS mySubstring

mySubstring
---------------
fooooo+barrrrr


Weet niet of je zoiets in je code wilt hebben? :P

[ Voor 7% gewijzigd door glrfndl op 11-04-2008 16:09 ]

Prepare for unforeseen consequences


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Kerel. URLs zijn presentation layer. Die (de)construeer je dus in je presentation layer of desnoods je business logic. NIET IN JE DATABASE.

Professionele website nodig?


  • MueR
  • Registratie: Januari 2004
  • Laatst online: 13:13

MueR

Admin Devschuur® & Discord

is niet lief

* MueR geeft curry684 een koekje. Kalm aan :)

Anyone who gets in between me and my morning coffee should be insecure.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

MueR schreef op vrijdag 11 april 2008 @ 16:11:
* MueR geeft curry684 een koekje. Kalm aan :)
Toch kan dat niet hard genoeg gezegd worden. ;)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • dusty
  • Registratie: Mei 2000
  • Laatst online: 14-10 13:38

dusty

Celebrate Life!

curry684 schreef op vrijdag 11 april 2008 @ 16:09:
Kerel. URLs zijn presentation layer. Die (de)construeer je dus in je presentation layer of desnoods je business logic. NIET IN JE DATABASE.
Met ^^

Dus: NIET IN JE DATABASE!

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


  • Sjoerd
  • Registratie: December 2003
  • Niet online
Maw, ik moet me gegevens even converteren en splitsen voordat ik ze in de db drop, zodat ik niet dit soort sql fratsjes moet uithalen... ;)

(was een feature waar ik later aan dacht, lees gisteren :+ ) dacht het zo dus op te kunnen lossen ;)

[ Voor 28% gewijzigd door Sjoerd op 11-04-2008 17:42 ]

Modelbouw - Alles over modelbouw, van RC tot diorama


  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

En als je al dit soort fratsjes wil uithalen op basis van de huidige data: select de data uit je DB, desnoods met een 'LIKE '%google%' en parse het vervolgens in PHP, C#, VB.NET, Ruby on Rails of whatever you fancy, maar NIET IN JE DATABASE. But I believe we already made that point :+

Professionele website nodig?

Pagina: 1