php 串連oracle插入多張圖片的方法

來源:互聯網
上載者:User

標籤:直接   ide   publish   value   license   綁定   base64   new   user   

  php串連oracle資料庫的時候,其查詢、更新、刪除資料和MySQL類似,但是增加資料、特別是圖片的時候就很不一樣,這裡面涉及到要建立一個blob對象,用blod對象去儲存php圖片,下面是當插入多張圖片的時候的寫法,直接上代碼:

$conn = oci_connect(‘RGSUser‘, ‘mycompany‘, ‘(DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = **.**.**.**(IP地址))(PORT = 1521)))(CONNECT_DATA = (SERVICE_NAME = orcl)))‘, ‘utf8‘); $sql = $sql."ID,"; $value = $value."sys_guid(),"; $sql = $sql."LSH,"; $value = $value.":lsh".","; $sql = $sql."VERFYTYPE,"; $value = $value.":verfytype".","; $sql = $sql."IDENTIFICATIONNO,"; $value = $value.":id".","; $sql = $sql."REALNAME,"; $value = $value.":realname".","; $sql = $sql."PHONE,"; $value = $value.":phone".","; $sql = $sql."BINDDRIVELICENSE,"; if ($dabh!=null) { $value = $value."1,"; }else{ $value = $value."0,";} $sql = $sql."PICDATAIDENTIFACE,"; $value = $value."EMPTY_BLOB(),"; $sql = $sql."PICDATAIDENTIFACEWATERMARK,"; $value =  $value."EMPTY_BLOB(),"; $sql = $sql."PICDATAIDENTIBACK,"; $value = $value."EMPTY_BLOB(),"; $sql = $sql."PICDATAIDENTIBACKWATERMARK,"; $value = $value."EMPTY_BLOB(),"; $sql = $sql."PICDATAIDENTIPERSON,"; $value = $value."EMPTY_BLOB(),"; $sql = $sql."PICDATAIDENTIPERSONWATERMARK,"; $value =   $value."EMPTY_BLOB(),"; $sql = $sql."ISLOCK) VALUES ("; $value = $value."0".")";//這裡很重要,相當於儲存圖片的欄位指定了對應的標籤 $sql = $sql.$value." RETURNING PICDATAIDENTIFACE,PICDATAIDENTIFACEWATERMARK,PICDATAIDENTIBACK,PICDATAIDENTIBACKWATERMARK,PICDATAIDENTIPERSON,PICDATAIDENTIPERSONWATERMARK,PICDATAVEHICLELIC,PICDATAVEHICLELICWATERMARK INTO :PICDATAIDENTIFACE,:PICDATAIDENTIFACEWATERMARK,:PICDATAIDENTIBACK,:PICDATAIDENTIBACKWATERMARK,:PICDATAIDENTIPERSON,:PICDATAIDENTIPERSONWATERMARK,:PICDATAVEHICLELIC,:PICDATAVEHICLELICWATERMARK";/*上面的拼接語句比較複雜,下面是拼接之後的結果string(1072) "INSERT INTO T_RRGU_SUBMITION (ID,LSH,VERFYTYPE,IDENTIFICATIONNO,REALNAME,PHONE,BINDDRIVELICENSE,PICDATAIDENTIFACE,PICDATAIDENTIFACEWATERMARK,PICDATAIDENTIBACK,PICDATAIDENTIBACKWATERMARK,PICDATAIDENTIPERSON,PICDATAIDENTIPERSONWATERMARK,DABH,CARINFOHPHM,CARINFOHPZL,CARINFOFDJH,PICDATAVEHICLELIC,PICDATAVEHICLELICWATERMARK,CREATED,SOURCETYPE,SOURCEAPP,JUDGESTATE,PUBLISHREULTTYPE,PUBLISHSTATE,QUERYPASSWORD,CONTACTADDRESS,ISLOCK) VALUES (sys_guid(),:lsh,:verfytype,:id,:realname,:phone,1,EMPTY_BLOB(),EMPTY_BLOB(),EMPTY_BLOB(),EMPTY_BLOB(),EMPTY_BLOB(),EMPTY_BLOB(),:dabh,:hphm,:hpzl,:fdjh,EMPTY_BLOB(),EMPTY_BLOB(),sysdate,:targetSourcetype,:sourcetype,0,-1,0,:mm,:contactAddress,0) RETURNING PICDATAIDENTIFACE,PICDATAIDENTIFACEWATERMARK,PICDATAIDENTIBACK,PICDATAIDENTIBACKWATERMARK,PICDATAIDENTIPERSON,PICDATAIDENTIPERSONWATERMARK,PICDATAVEHICLELIC,PICDATAVEHICLELICWATERMARK INTO :PICDATAIDENTIFACE,:PICDATAIDENTIFACEWATERMARK,:PICDATAIDENTIBACK,:PICDATAIDENTIBACKWATERMARK,:PICDATAIDENTIPERSON,:PICDATAIDENTIPERSONWATERMARK,:PICDATAVEHICLELIC,:PICDATAVEHICLELICWATERMARK"*/// 建立blob對象並且綁定資料            $stid = oci_parse($conn, $sql);            $PICDATAIDENTIFACEblob            = oci_new_descriptor($conn,OCI_D_LOB);            $PICDATAIDENTIFACEWATERMARKblob   = oci_new_descriptor($conn,OCI_D_LOB);            $PICDATAIDENTIBACKblob            = oci_new_descriptor($conn,OCI_D_LOB);            $PICDATAIDENTIBACKWATERMARKblob   = oci_new_descriptor($conn,OCI_D_LOB);            $PICDATAIDENTIPERSONblob          = oci_new_descriptor($conn,OCI_D_LOB);            $PICDATAIDENTIPERSONWATERMARKblob = oci_new_descriptor($conn,OCI_D_LOB);            oci_bind_by_name($stid, ‘:lsh‘, $lsh);            oci_bind_by_name($stid, ‘:verfytype‘, $verfytype);            oci_bind_by_name($stid, ‘:id‘, $id);            oci_bind_by_name($stid, ‘:realname‘, $realname);            oci_bind_by_name($stid, ‘:phone‘, $phone);            oci_bind_by_name($stid, ‘:targetSourcetype‘, $targetSourcetype);            oci_bind_by_name($stid, ‘:sourcetype‘, $sourcetype);            oci_bind_by_name($stid, ‘:mm‘, $mm);            oci_bind_by_name($stid, ‘:contactAddress‘, $contactAddress);//執行語句oci_execute($stid, OCI_DEFAULT);//blob對象儲存對應的圖片資料if ($PICDATAIDENTIFACEblob->save(base64_decode($picIdentiFace)) && $PICDATAIDENTIFACEWATERMARKblob->save(base64_decode($picIdentiFaceWaterRemark)) && $PICDATAIDENTIBACKblob->save(base64_decode($picIdentiBack)) && $PICDATAIDENTIBACKWATERMARKblob->save(base64_decode($picIdentiBackWaterRemark)) && $PICDATAIDENTIPERSONblob->save(base64_decode($picIdentiWithUser)) && $PICDATAIDENTIPERSONWATERMARKblob->save(base64_decode($picIdentiWithUserWaterRemark))) {                  // On success, commit the transaction                    // var_dump("資料正確添加到資料庫中");                    oci_commit($conn);                    oci_free_statement($stid);                    oci_close($conn);    }else{                        $error = oci_error();                    echo $error;                    oci_rollback($conn);                    oci_free_statement($stid);                    oci_close($conn);                    $err = "內部錯誤!";}

 

php 串連oracle插入多張圖片的方法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.