Witam,
chciałem skorzystać z trywialnej stronki za pomocą której mógłbym ładować zdjęcia do bazy oracle i niestety się nie udaje poniżej kod i dwa błędy no i prośba o pomoc :
// filename: uploadimage3-form.php
<form method="post" action="uploadimage3.php" enctype="multipart/form-data"> <input type="text" name="id" size="40"> <INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000"> <br>File to upload/store in database:
<br> <input type="file" name="file_data" size="40"> <p><input type="submit" name="submit" value="submit">
<?php
// filename: uploadimage3.php
$username = 'CRI';
$password = 'CRI';
$dbname = 'IP/CBI';
{
echo "tmp_name : ".$tmpfilename = $_FILES['file_data']['tmp_name']; echo "filetype : ".$filetype = $_FILES['file_data']['type']; echo "filename : ".$filename = $_FILES['file_data']['name']; //echo "descript : ".$file_description = $_POST['file_description'];
//print "<br>\n\t";
echo "id : ".$id = $_POST['id'];
//$data = (fread(fopen($form_data, "r"), filesize($form_data)));
//You have to pass Appropriate username, Password,Serveice name
$db = OCILogon($username, $password, $dbname);
$stmt = OCIParse($db,"INSERT INTO BLOB_TABLE VALUES($id,EMPTY_BLOB()) returning id,IMG into :id,:lob");
$lob = OCINewDescriptor($db);
OCIBindByName($stmt,":ID",$id,32);
OCIBindByName($stmt,":LOB",$lob,-1,SQLT_BLOB);
// we cannot use autocommitt here
$exec_result=OCIExecute($stmt,OCI_DEFAULT);
$lob->save($data);
//echo "$form_data id:$id\n";
OCICommit($db);
if(!$exec_result)
{
print "Error Occured".OCIError
($db); }else{
OCICommit ($db);
print "<p>This file has been uploaded into Database "; }
}
?>
PHP Warning: ociexecute() [<a href='function.ociexecute'>function.ociexecute</a>]: ORA-00904: "IMG": niepoprawny identyfikator in uploadimage3.php on line 36
PHP Warning: OCI-Lob::save() [<a href='oci-lob.save'>oci-lob.save</a>]: OCI_INVALID_HANDLE in uploadimage3.php on line 37
No i nie wstawia.
PHP 5.3.3; Oracle 11g; oci8 version: 1.4.1