[PHP] Image saven naar Sybase DB

Pagina: 1
Acties:

  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
Ik probeer een plaatje dat men heeft upgeload via een form in mijn Sybase DB te inserten. Op de 1 of andere manier gaat dat fout :(

De uiteindelijke query is (bij een bepaalde plaatje):
code:
1
2
3
4
5
6
7
8
9
Insert into Families (ID,ID_Founder_Pedigree,Proband,Pedigree_Structure)
 values ('AT9999','','',"GIF89a\\0\\0Ã \\0pÆŜ­
ÂÂÂçÇŒiÛ»ñÑѱv¶£\\0\\0\\0!ù\\0
\\0\\0,\\0\\0\\0\\0\\0\\0\\0gðI jøÕ8JQtB3\\0ÓšŒ§w 
«œU¹T4 $€Jg`lL¥Xf,8
\'\'ÔÌaTlö£*Z@@>š\\0Â×\\04cM¯,\\0ÚŜ1øýzt\"yz
{|x\\0!þ{This animated GIF file was constructed using 
Ulead GIF Animator, visit us at http://www.ulead.com to 
find out more.USSPCMT\\0;")

Dit levert op:

ERROR: Unable to perform insert: Insert into Families (ID,ID_Founder_Pedigree,Proband,Pedigree_Structure) values ('AT9999','','',"GIF89aà pÆŜ­ÂÂÂçÇŒiÛ»ñÑѱv¶£!ù,gðI jøÕ8JQtB3ÓšŒ§w «œU¹T4 $€Jg`lL¥Xf,8\'\'ÔÌaTlö£*Z@@>šÂ×4cM¯,ÚŜ1øýzt\"yz!þ{This animated GIF file was constructed using Ulead GIF Animator, visit us at http://www.ulead.com to find out more.USSPCMT;") Unclosed quote before the character string ')'.

Die unclosed quote volg ik niet, want de enige andere quote (dik gedrukt) is mooi ge-escaped met een backslash..

Officieel schijnt het anders te moeten, want Sybase moet quotes met quotes escapen ofzo, maar dat werkte ookal niet.

Iemand een idee?

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Textuele zaken moeten toch sowieso binnen ' ' ipv " staan?
En een quote escape je niet door \" neer te zetten maar "" volgens mij?

Iig geldt dat voor de '.

  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Is trouwens wel een erg klein gifje.....

Wat is de code waarmee je je sql query genereerd?

Daarnaast lijkt het me ook niet ideaal om op deze manier dit in de DB te proppen. Waneer je binaire data in een string propt zou het best wel ergens flink mis kunnen gaan (denk aan een 0-byte die gewoon in de binaire data kan voorkomen, maar die er in een string voor kan zorgen dat te vroeg het einde wordt gevonden)

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


  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
Op dinsdag 16 juli 2002 15:52 schreef Janoz het volgende:
Is trouwens wel een erg klein gifje.....

Wat is de code waarmee je je sql query genereerd?

Daarnaast lijkt het me ook niet ideaal om op deze manier dit in de DB te proppen. Waneer je binaire data in een string propt zou het best wel ergens flink mis kunnen gaan (denk aan een 0-byte die gewoon in de binaire data kan voorkomen, maar die er in een string voor kan zorgen dat te vroeg het einde wordt gevonden)
Okay, als je een betere manier hebt graag!
En ik kan mijn code wel posten, maar daar zul je weinig aan zien lijkt mij :? en is vrij groot.. De query die je hierboven ziet, is precies wat er opt einde is geproduceerd.

Klein gifje inderdaad.. met grotere werd er maar een halve foutmelding gegenereerd.. dus misschien dat, dat iets met een 0byte te maken heeft?

ACM: Als ik het met "magic_quotes_sybase=1" (in de ini) probeer krijg ik dit:

ERROR: Unable to perform insert: Insert into Families (ID,ID_Founder_Pedigree,Proband,Pedigree_Structure) values ('AT9999','','',"GIF89aà pÆŜ­ÂÂÂçÇŒiÛ»ñÑѱv¶£!ù,gðI jøÕ8JQtB3ÓšŒ§w «œU¹T4 $€Jg`lL¥Xf,8''''ÔÌaTlö£*Z@@>šÂ×4cM¯,ÚŜ1øýzt"yz!þ{This animated GIF file was constructed using Ulead GIF Animator, visit us at http://www.ulead.com to find out more.USSPCMT;") Unclosed quote before the character string ')'.

Dus zelfde fout, andere string. Door magic_quotes_sybase op 1 te zetten zou alles moeten worden ge-escaped zodat Sybase het leuker vind, maar ik krijg dezelfde fout.
Zoals je ziet zijn de enkele quotes nu ge-escaped met een enkele quote, en de dubbele zijn ongemoeid gelaten.

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 28-08 12:00

Janoz

Moderator Devschuur®

!litemod

Op dinsdag 16 juli 2002 15:57 schreef Funcracker het volgende:

[..]

Okay, als je een betere manier hebt graag!
Ik niet, maar toen ik ff op http://www.php.net/sybase zag ik dat degene die daar de eerste reactie poste het wel wist.

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


  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
Als ik de "" vervang door '' (om de hele GIF code heen) dan krijg ik een Operand type clash: TEXT is incompatible with IMAGE error op mijn scherm. Als ik die dan vervolgens helemaal achterwege laat, krijg ik wel een error, maar geen uitleg :(

ERROR: Unable to perform insert: Insert into Families (ID,ID_Founder_Pedigree,Proband,Pedigree_Structure) values ('AT9999','','',GIF89aà pÆŜ­ÂÂÂçÇŒiÛ»ñÑѱv¶£!ù,gðI jøÕ8JQtB3ÓšŒ§w «œU¹T4 $€Jg`lL¥Xf,8''''ÔÌaTlö£*Z@@>šÂ×4cM¯,ÚŜ1øýzt"yz!þ{This animated GIF file was constructed using Ulead GIF Animator, visit us at http://www.ulead.com to find out more.USSPCMT;) Unclosed quote before the character string 'yz!þ{This animated GIF file was constructed using Ulead GIF Animator, visit us at http://www.ulead.com to find out more.USSPCMT;)'.

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
Op dinsdag 16 juli 2002 16:03 schreef Janoz het volgende:

[..]

Ik niet, maar toen ik ff op http://www.php.net/sybase zag ik dat degene die daar de eerste reactie poste het wel wist.
Euhm..
Damn.. ik had wel gekeken bij een stuk of wat specifieke functies op php.net, maar gewoon bij de overal user comments niet..

Iig enorm bedankt! Deze workaround werkt! :D

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


Verwijderd

Wat is het type van de kolom Pedigree_Structure? Volgens mij heeft de schrijver van dat stukje namelijk een manier gevonden om een plaatje in een string te zetten, dus om een varchar() kolom o.i.d. te zetten.

edit:

Al opgelost, zie ik.
Pagina: 1