[Java] Enkele quote in een query *

Pagina: 1
Acties:

  • RTBravo
  • Registratie: April 2000
  • Laatst online: 22-05 22:37

RTBravo

Verkopen jullie ook jojn?

Topicstarter
Goeienavond ppl,

Ik heb een vraagje waar ik maar nie uitkom, terwijl de oplossing er volgens mij moet zijn?

Ik heb een textarea waar men iets in kan typen met daarboven wat textfields waar men ook text in kwijt kan. De text in de textfields + textarea worden in een MYSQL database gepompt via een query uiteraard. Nu is het probleem dat als men een ' in het textarea of textfield zet, de insert of update query denkt dat het een nieuw veld is in de rij die hij gaat invoegen of updaten :(

Nu heb ik als oplossing replaceAll("'", " "); En dat bij elke update of insert laten aanroepen. Ik hou dus geen ' meer over, alleen spaties. Is er niet op een andere manier omheen te werken zodat ik wel die ' kan behouden?

Als ik ' laat vervangen door /', dan ziet mysql hem nog steeds als een ', maar dan met een slash ervoor, dus zelfde foutmelding :(

plz help me!

HET GAAT HIER OM JAVA

[ Voor 13% gewijzigd door RTBravo op 08-12-2003 12:36 ]


  • justmental
  • Registratie: April 2000
  • Niet online

justmental

my heart, the beat

Hier staat een mooie uitleg hierover.

Who is John Galt?


  • André
  • Registratie: Maart 2002
  • Laatst online: 26-05 00:33

André

Analytics dude

' vervangen door "
' vervangen door '

Er is iig genoeg over te vinden.

[ Voor 22% gewijzigd door André op 06-12-2003 19:55 ]


  • MBV
  • Registratie: Februari 2002
  • Laatst online: 09:36

MBV

er is zelfs een speciale functie voor, addslashes ofzo. net zoiets als url-encode. En met een beetje zoeken moet je wel wat kunnen vinden, lijkt me

  • RTBravo
  • Registratie: April 2000
  • Laatst online: 22-05 22:37

RTBravo

Verkopen jullie ook jojn?

Topicstarter
MBV schreef op 06 december 2003 @ 19:57:
er is zelfs een speciale functie voor, addslashes ofzo. net zoiets als url-encode. En met een beetje zoeken moet je wel wat kunnen vinden, lijkt me
oej, ben vergeten te zeggen dat het om JAVA gaat, ik ken addslashes wel van PHP, nie van JAVA

  • eborn
  • Registratie: April 2000
  • Laatst online: 27-05 12:34
RTBravo schreef op 06 december 2003 @ 19:50:
Als ik ' laat vervangen door /', dan ziet mysql hem nog steeds als een ', maar dan met een slash ervoor, dus zelfde foutmelding :(
Je escaped tekens ook door er een backslash (\) voor de zetten en geen slash (/)

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
RTBravo schreef op 06 december 2003 @ 20:06:

oej, ben vergeten te zeggen dat het om JAVA gaat, ik ken addslashes wel van PHP, nie van JAVA
Zoek eens naar prepareStatement().

  • RTBravo
  • Registratie: April 2000
  • Laatst online: 22-05 22:37

RTBravo

Verkopen jullie ook jojn?

Topicstarter
wat moet ik met preparedstatement? Ik zie er geen functie in die helpt met het quote probleem?

Verwijderd

Het is de bedoeling dat je met een preparedStatement ?-tekens in je query plaatst daar waar er later input moet komen. Met de methodes setString, setInt enz... kan je dan een waarde invoegen op het x-de ?-teken in je PreparedStatement. Dit heeft voor eigenschap dat in het geval van setString er reeds single quotes aan het begin en einde van de String geplaatst worden en eventuele single quotes in de String zelf geëscaped worden.

  • jochemd
  • Registratie: November 2000
  • Laatst online: 29-12-2025
Verwijderd schreef op 08 december 2003 @ 12:58:
Het is de bedoeling dat je met een preparedStatement ?-tekens in je query plaatst daar waar er later input moet komen. Met de methodes setString, setInt enz... kan je dan een waarde invoegen op het x-de ?-teken in je PreparedStatement. Dit heeft voor eigenschap dat in het geval van setString er reeds single quotes aan het begin en einde van de String geplaatst worden en eventuele single quotes in de String zelf geëscaped worden.
Met als bijkomend voordeel dat niet alleen quotes ge-escaped worden, maar ook bijvoorbeeld backslashes en null's die je anders nog wel eens zou vergeten. In feite is het in dat opzicht een abstractiemechanisme die elke vorm van database specifieke escaping abstrheert.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 15:26

Janoz

Moderator Devschuur®

!litemod

RTBravo schreef op 08 december 2003 @ 12:35:
wat moet ik met preparedstatement? Ik zie er geen functie in die helpt met het quote probleem?
[rml]Janoz in "[ JAVA] escaping"[/rml]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • RTBravo
  • Registratie: April 2000
  • Laatst online: 22-05 22:37

RTBravo

Verkopen jullie ook jojn?

Topicstarter
Hmm, dat bood ook geen uitkomst, hij zette overal netjes een slash voor, maar MySQL begreep geen aars meer van de query. Ik heb een niet zo nette, maar simpele oplossing genomen :

Gewoon alle ' (quotes) vervangen door ` (accents) en nergens last van :)

Ze lijken toch gruwelijk veel op elkaar, dus of ik nou `s morgens zo of 's morgens zo schrijf, iedereen snapt t :) Toch bedankt voor de moeite!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Wat PreparedStatement doet in Java is wat whoami zo mooi "parametrized queries" noemt Dat is de enige goede manier om het in Java te doen.

offtopic:
* mental note: opmerking over Java plaatsen in FAQ

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz

Pagina: 1