如何在PHP中处理Oracle CLOB?

如何在PHP中处理Oracle CLOB?,php,oracle,save,clob,Php,Oracle,Save,Clob,我昨天问了一个这样的问题,但我还没有得到任何答案 要点:如何获取CLOB引用,例如在insert into或update语句中: $sql = "INSERT INTO table (data) VALUES (EMPTY_CLOB()) RETURNING data INTO :data"; $statement = oci_parse($conn, $sql); $descriptor = oci_new_descriptor($conn, OCI_DTYPE_LOB); oci_bind_

我昨天问了一个这样的问题,但我还没有得到任何答案

要点:如何获取CLOB引用,例如在insert into或update语句中:

$sql = "INSERT INTO table (data) VALUES (EMPTY_CLOB()) RETURNING data INTO :data";
$statement = oci_parse($conn, $sql);
$descriptor = oci_new_descriptor($conn, OCI_DTYPE_LOB);
oci_bind_by_name($statement, ':data', $descriptor, -1, OCI_B_CLOB);
oci_execute($statement);
$descriptor->save('5000 chars');
oci_free_descriptor($descriptor);
因此,我想在不使用insert和update语句的情况下调用clob save方法。 所以我试着:

$sql = "SELECT data FROM table WHERE id = " . $fooid;
$statement = oci_parse($conn, $sql);
oci_execute($statement);
$row = oci_fetch_assoc($statement);
$row['DATA']->save('5000 chars');
怎么做

Thx

$sql = "INSERT INTO table t (t.data) VALUES (EMPTY_CLOB()) RETURNING t.data.clob INTO :data";
$statement = oci_parse($conn, $sql);
$descriptor = oci_new_descriptor($conn, OCI_DTYPE_LOB);
oci_bind_by_name($statement, ':data', $descriptor, -1, OCI_B_CLOB);
oci_execute($statement, 0); //no commit!!!
$descriptor->save('5000 chars');
oci_commit($conn);
oci_free_descriptor($descriptor);