[Oracle] CLOB lässt sich nicht speichern

Gray

Erfahrenes Mitglied
Hi,

hier erst mal der Code:
PHP:
$sql = "insert into GN_TODO (DAUER, FERTIGSTELLUNG, TEXT, TIMESTAMP, AUTOR) values 
($_POST[dauer],$_POST[fertigstellung], TEXT = empty_clob()),$timestamp,$_GET[uid] returning TEXT into :LOBtext";
OCIParse($db, $sql);
$clob = OCINewDescriptor($db, OCI_D_LOB);
OCIBindByName ($stmt, ":LOBtext", &$clob, -1, OCI_B_CLOB);
OCIExecute($stmt);
$clob->save ($_POST[todo]);
OCICommit($db);

Aber es erscheint folgende Fehlermeldung:
Code:
Warning: ocibindbyname() expects parameter 1 to be resource, null given in /home/www/web1/html/verwaltung/allgemein/todo.php on line 32

Warning: ociexecute() expects parameter 1 to be resource, null given in /home/www/web1/html/verwaltung/allgemein/todo.php on line 33

Warning: OCI-Lob::save() [function.OCI-Lob-save]: OCI_INVALID_HANDLE in /home/www/web1/html/verwaltung/allgemein/todo.php on line 34

Ich habe aber keine ahnung woran es liegt.
 
An welcher Stelle wird denn $stmt initialisiert? In deinem Ausschnitt sollte $stmt eine Resource vom Typ oci8 statement sein, was jedoch anscheinend nicht der Fall ist (daher auch die Fehlermeldung, die auf Deutsch nix anderes heißt, als dass Parameter #1 eine Resource sein müsste, jedoch nicht ist).
Wenn $stmt ordentlich initialisiert wird, könnte der Fehler in einer fehlerhaften Datenbankverbindungsresource (sprich nicht vorhanden) begraben liegen.
Prüfen und ausgeben kann man den Resourcetyp auf folgende Weise:
PHP:
var_dump(get_resource_type( $rsc ));
 
Zurück