Vielleicht erhalte ich hier für mein Problem eine Hilfestellung in Zusammenhang mit PHP und InterBase.<BR>In meiner IB DB habe ich ein BLOB Feld als "TYPE 1 SEGMENT SIZE 120" deklariert. Nun möchte ich eine<BR>etwas doch größere Datenmenge(TEXT) aus meinem PHP Script dort speichern bzw. updaten.<BR><BR><BR>
Leider kommen die Daten in der DB nicht so an (MENGE), wie ich sie im PHP Script abgeschickt habe.<BR>InterBase speichert immer nur eine bestimmte Menge von Daten. An IB oder dem FeldType<BR>liegt es selber nicht, da ich in der IB Console meine daten rechtwohl speichern kann.
Hier mein Script:<BR>
//----------------------------------//<BR>
$DB = ibase_pconnect("server:g:\\Database\\MAIN.GDB","sy sdba", "masterkey" );<BR><BR>
$blob_id = ibase_blob_create();<BR>
ibase_blob_add($blob_id, $blob_data);<BR>
$blob_id_str = ibase_blob_close($blob_id);<BR>
$sth = ibase_prepare('INSERT INTO cms_cache_content (HASH,CONTENT,IDENT) VALUES (?,?,?)');<BR>
$trans=ibase_trans();<BR>
ibase_execute($sth, '$hash', $blob_id_str, '$ident');<BR>
ibase_free_query($sth);<BR>
ibase_commit($trans);<BR>
ibase_close($DB);<BR>
//----------------------------------//<BR><BR>
$blob_data ist ein String mit mehreren Bytes!<BR><BR>
Zerlege ich nun diesen String in mehrere Teile, werden die Daten korrekt gespeichert. Das ist<BR>Programmtechnisch aber nicht immer machbahr und ich somit, mit dieser Lösung nichts anfangen kann.<BR>
eg:<BR>
ibase_blob_add($blob_id, $blob_data1);<BR>
ibase_blob_add($blob_id, $blob_data2);<BR>
ibase_blob_add($blob_id, $blob_data3);<BR><BR>
Ein anderer Lösungsansatz den ich getestet habe ist ein "INSERT" mit "BLOB FELD" null und ein anschließendes Update,<BR>bringt aber auch wieder das selbe Problem. So bin ich mit meinem Latein am Ende und hoffe auf eure Hilfe.<BR><BR>
BS: XP/IIS & LINUX SUSE 8.0/Apache => PHP 4.2.1 & 4.2.2<BR><BR>
Vielen Dank HEIKO<BR><BR>
Leider kommen die Daten in der DB nicht so an (MENGE), wie ich sie im PHP Script abgeschickt habe.<BR>InterBase speichert immer nur eine bestimmte Menge von Daten. An IB oder dem FeldType<BR>liegt es selber nicht, da ich in der IB Console meine daten rechtwohl speichern kann.
Hier mein Script:<BR>
//----------------------------------//<BR>
$DB = ibase_pconnect("server:g:\\Database\\MAIN.GDB","sy sdba", "masterkey" );<BR><BR>
$blob_id = ibase_blob_create();<BR>
ibase_blob_add($blob_id, $blob_data);<BR>
$blob_id_str = ibase_blob_close($blob_id);<BR>
$sth = ibase_prepare('INSERT INTO cms_cache_content (HASH,CONTENT,IDENT) VALUES (?,?,?)');<BR>
$trans=ibase_trans();<BR>
ibase_execute($sth, '$hash', $blob_id_str, '$ident');<BR>
ibase_free_query($sth);<BR>
ibase_commit($trans);<BR>
ibase_close($DB);<BR>
//----------------------------------//<BR><BR>
$blob_data ist ein String mit mehreren Bytes!<BR><BR>
Zerlege ich nun diesen String in mehrere Teile, werden die Daten korrekt gespeichert. Das ist<BR>Programmtechnisch aber nicht immer machbahr und ich somit, mit dieser Lösung nichts anfangen kann.<BR>
eg:<BR>
ibase_blob_add($blob_id, $blob_data1);<BR>
ibase_blob_add($blob_id, $blob_data2);<BR>
ibase_blob_add($blob_id, $blob_data3);<BR><BR>
Ein anderer Lösungsansatz den ich getestet habe ist ein "INSERT" mit "BLOB FELD" null und ein anschließendes Update,<BR>bringt aber auch wieder das selbe Problem. So bin ich mit meinem Latein am Ende und hoffe auf eure Hilfe.<BR><BR>
BS: XP/IIS & LINUX SUSE 8.0/Apache => PHP 4.2.1 & 4.2.2<BR><BR>
Vielen Dank HEIKO<BR><BR>