1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
<?php
/**
CREATE TABLE TESTERIC.UPLOAD(
FICHIER VARCHAR2(50),
CONTENT BLOB)
*/
/**
* Test d'upload dans une table oracle via ODBC et PHP en module
*/
$conf['DB_dsn'] = 'DRIVER=ORACLE ODBC DRIVER;DBQ=BDDEV8I2;SERVER=BDDEV8I2;';
// $conf['DB_dsn'] = 'DRIVER={Microsoft ODBC for Oracle};SERVER=BDDEV8I2;';
$conf['DB_user'] = 'TESTERIC';
$conf['DB_pwd'] = 'TESTERIC';
$file = 'D:\DocumentsEric\Mes images\JamesDean.jpg';
$fsize = filesize($file)+10; //le +10 des fois que... mais sert a rien
ini_set('odbc.defaultlrl',$fsize); //sert à rien
ini_set('odbc.defaultbinmode',ODBC_BINMODE_PASSTHRU); //sert à rien
//$file = 'D:\DocumentsEric\lorem.txt';
//utilisation des fonctions direct ODBC
$db = odbc_connect($conf['DB_dsn'],$conf['DB_user'],$conf['DB_pwd']);
if($db===false){
die("ERREUR : odbc_connect<br/>\n");
}
// odbc_autocommit($db,false);//begintrans
$f = date('d/m/Y H:i:s');
$sql = 'INSERT INTO UPLOAD (FICHIER) VALUES(\''.$f.'\')';
echo "$sql<br />";
$rs = odbc_exec($db, $sql);
if($rs===false){
$error = 'INSERT :'."\n";
echo "$error<br/>\n";
}else{
$i = odbc_num_rows($rs);
echo "INSERT : ".$i." lignes affectée<br/>\n";
}
echo odbc_errormsg($db)."</br>\n";
//prepare
$sql = "UPDATE UPLOAD SET CONTENT = ? WHERE FICHIER = '$f' ";
echo "$sql<br />";
$prep_id = odbc_prepare($db, $sql);
echo odbc_errormsg($db)."</br>\n";
if(!$prep_id) echo "PREPARE: erreur<br/>\n";
echo odbc_errormsg($db)."</br>\n";
odbc_execute($prep_id,array("'".$file."'"));
echo odbc_errormsg($db)."</br>\n";
if(!$rs){
$error = 'UPDATE: erreur $rs='.print_r($rs,true)."\n";
echo "$error<br/>\n";
echo odbc_errormsg($db)."</br>\n";
}else{
echo "UPDATE: ok<br/>\n";
echo odbc_errormsg($db)."</br>\n";
}
odbc_close($db);
//commit
// if(!odbc_commit($db)) echo "COMMIT: erreur</br/>\n";
?> |
Partager