Toon posts:

[Coldfusion]ORA Error bij update

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Ik loop in een applicatie die ik aan het maken ben in Coldfusion tegen een ORA-00904 (Invalid Column) error aan die ik niet snap. Ik voer de volgende query in:

code:
1
2
3
4
5
6
UPDATE T_NIEUWS 
SET DETAIL_INHOUD = '<P unselectable="0ff">Gisteren mochten wij een kort berichtje ontvangen van oud-Staf medewerker Dieter Baas:<BR unselectable="0ff"><BR unselectable="0ff">Hallo oud-collega''s, </P> <P unselectable="0ff">Hier een kort berichtje uit Nijmegen. Sinds ik jullie heb verlaten, heb ik moeite mijn draai te vinden, ik denk alleen maar aan ''die goede ouwe tijd'' ,-). Nee hoor, ik heb het hier reuze naar mijn zin, maar moet wel aardig aanpoten om mijn tentamens te halen. Van de eerste tentamenronde heb ik drie van de vijf tentamens gehaald, dus ik ben niet helemaal tevreden. Deze kan ik echter in de aankomende weken herkansen en ik heb goede moed op meer voldoendes.</P> <P unselectable="0ff">De kamer die ik heb gevonden, was een schot dichtbij de roos en ik voel me er net zo thuis als bij m''n oma destijds. Wanneer iemand in de buurt is, is hij/zij natuurlijk van harte welkom om langs te komen. Het leven in Nijmegen gaat een paar tandjes lager en wandelingen langs de Waal zijn ook in deze tijd heerlijk, mits deze niet onder water staat natuurlijk.</P> <P unselectable="0ff">Veel werkplezier gewenst en wellicht tot ziens.</P> <P unselectable="0ff">Groetjes,</P> <P unselectable="0ff">Dieter<BR unselectable="0ff></P>'
, DETAIL_TITEL = 'Een bericht van Dieter!'
, PUBLICEREN = 0
, W_WKNRID = 3 
WHERE NIEUWS_ID = 23


Volgens de debugger output van Coldfusion zit het hem in de "WHERE NIEUWS_ID = 23" regel.
Als ik echter een willekeurig ander NIEUWS_ID-nummer ga editen, doet ie het wel gewoon goed...
Wat doe ik verkeerd??

Anyone?

Verwijderd

Je syntax klopt van geen kanten, de query loopt vast op de inhoud die je meegeeft. Niets escaped, singlequotes, doublequotes door elkaar, enzovoorts.

Probeer het eerst eens met geparameteriseerde values. Je vraagt nu om SQL injection namelijk.

UPDATE T_NIEUWS
SET DETAIL_INHOUD = <cfqueryparam cfsqltype="cf_sql_varchar" value="#inhoud#" />,
DETAIL_TITEL = <cfqueryparam cfsqltype="cf_sql_varchar" value="#titel#" />,
PUBLICEREN = <cfqueryparam cfsqltype="cf_sql_integer" value="#publiceren#" />,
W_WKNRID = <cfqueryparam cfsqltype="cf_sql_integer" value="#wknrid#" />
WHERE NIEUWS_ID = <cfqueryparam cfsqltype="cf_sql_integer" value="#nieuwsid#" />

Verwijderd

Topicstarter
/me gaat in een hoekje zitten

ja meneer Stok :D even testen....
Hmmm.. zo te zien loopt ie tegen een time-out aan...

[ Voor 37% gewijzigd door Verwijderd op 02-05-2006 10:27 ]


Verwijderd

Topicstarter
Inderdaad, een time-out :(
Nog eens even kijken naar de opmaak van "detail_inhoud"...

Verwijderd

Topicstarter
Verwijderd schreef op dinsdag 02 mei 2006 @ 10:18:
Je syntax klopt van geen kanten, de query loopt vast op de inhoud die je meegeeft. Niets escaped, singlequotes, doublequotes door elkaar, enzovoorts.
Agreed.
Alleen snap ik niet, dat deze data (die dus recht uit Oracle komt) wel via Toad in de DB te slurpen is, maar via Coldfusion niet (ook niet met cfqueryparam)... :(

Verwijderd

Je zult echt wat fout doen, verkeerde database gepakt, columns bestaan inderdaad niet, .. enzovoorts. :)

Verwijderd

Topicstarter
Ik heb geen idee wat ik precies gedaan heb, maar hij doet het!? :?
probeer nu te achterhalen wat er gebeurd is :D

[ Voor 27% gewijzigd door Verwijderd op 02-05-2006 12:33 ]

Pagina: 1