上次遇到过这个问题,读写方式不一样,当时找了很多资料。
这次找到上次写的代码,本身没有什么问题,但是当时只读写了一个字段,这里续写一下遇到多个字段的写法
官方文档地址:http://www.oracle.com/technetwork/articles/fuecks-lobs-095315.html
但是里面没有写入和更新多个字段的方式
写入多个字段,只与returning的语法有关。
因此,可以搜索一下returning在oracle中的用法。
这里贴一点代码:
insert into clinical_help_articles(uuid,title,classify_id,is_public,author,author_ip,created,updated,attachment,content,test) values('A_584a2b366a8878.40825359','dsdf','C_584a07be8a2e25.06636407','1','4ea520babf4ea','','1481255734','1481255734','',EMPTY_CLOB(),EMPTY_BLOB()) RETURNING content,test INTO :content_blob,:test_blob
update clinical_help_articles set title='dsdf',classify_id='C_584a07be8a2e25.06636407',updated='1481255782',attachment='',content=EMPTY_CLOB(),test=EMPTY_BLOB() where (uuid='A_584a2b366a8878.40825359') RETURNING content,test INTO :content_blob,:test_blob
另外就是读取的时候,如果要同时支持普通字段和clob及blob字段,在PHP手册里,有例子,可能我们没太注意。
oci_fetch_array($this->log_dao_rs,OCI_RETURN_NULLS+OCI_RETURN_LOBS);