
正文
php连接oracle oracle开启扩展
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
/* Font Definitions */
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:宋体;
panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:"\@宋体";
panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
text-align:justify;
text-justify:inter-ideograph;
font-size:10.5pt;
font-family:"Calibri","sans-serif";}
p.MsoHeader, li.MsoHeader, div.MsoHeader
{mso-style-link:"页眉 Char";
margin:0cm;
margin-bottom:.0001pt;
text-align:center;
layout-grid-mode:char;
border:none;
padding:0cm;
font-size:9.0pt;
font-family:"Calibri","sans-serif";}
p.MsoFooter, li.MsoFooter, div.MsoFooter
{mso-style-link:"页脚 Char";
margin:0cm;
margin-bottom:.0001pt;
layout-grid-mode:char;
font-size:9.0pt;
font-family:"Calibri","sans-serif";}
span.Char
{mso-style-name:"页眉 Char";
mso-style-link:页眉;}
span.Char0
{mso-style-name:"页脚 Char";
mso-style-link:页脚;}
.MsoChpDefault
{font-family:"Calibri","sans-serif";}
/* Page Definitions */
@page WordSection1
{size:841.9pt 595.3pt;
margin:14.2pt 14.2pt 14.2pt 14.2pt;
layout-grid:15.6pt;}
div.WordSection1
{page:WordSection1;}
<?php
/**
* 由于公司的需要,使用php+oracle开发项目,oracle因为有专门人员开发设计,我们只需远程调用
*于是乎遇到了蛋疼的问题就是开启oracle扩展的问题,虽然你在php.ini文件中打开了extension=php_oci8.dll
*单身在phpinfo中仍然看不到oracle扩展,这样oracle的操作方法就不能用,
*于是就要去oracle官方网上下载一个文件包 instantclient-basic-nt-11.2.0.3.0.zip,
*解压到任意地方,然后将D:\instantclient这个地址配置到环境变量里面这样*oracle的扩展就会开启,自然方法都可以使用了,就像用mysql一样了
*当然数据库连接类还是需要的于是我就写了一个php连接oracle的类如下
*/
class oracle {
public $user; //用户
public $pass; //密码
public $dbname;//数据库
public function __construct ($user='lms',$pass='lms',$dbname='192.168.2.77ot'){
$this->user=$user;
$this->pass=$pass;
$this->dbname=$dbname;
}
//连接数据库
function conn (){
$link = oci_connect ($this->user,$this->pass,$this->dbname);
return $link;
}
public function oracle_fetch_all ($sql,$status='1'){
$link = $this-> conn ();
if (!$status){
echo $sql."<br/>";
}
$stmt = oci_parse ($link,$sql);
$r = oci_execute ($stmt);
if (!$r ){
$this-> oracle_error ($stmt);
}
while (!!$row = oci_fetch_array ($stmt, OCI_BOTH )){
$data[] = $row;
}
return $data;
}
public function oracle_fetch_row ($sql,$status='1'){
$link = $this-> conn ();
if (!$status){
echo $sql."<br/>";
}
$stid = oci_parse ($link, $sql);
$r = oci_execute ($stid);
if (!$r){
$this-> oracle_error ($stid);
}
$data = oci_fetch_assoc ($stid);
return $data;
}
public function oracle_query ($sql){
$link = $this-> conn ();
$stmt = oci_parse ($link,$sql);
$r = oci_execute ($stmt, OCI_DEFAULT );
if (!$r ){
$this-> oracle_error ($stid);
}
return $r;
}
public function oracle_commit (){
$link = $this-> conn ();
$committed = oci_commit ($link);
return $committed;
}
public function oracle_error ($stid){
if (! empty ($stid)){
$e = oci_error ($stid);
trigger_error ( htmlentities ($e['message']), E_USER_ERROR );
}
}
public function oracle_rollback (){
$link = $this-> conn ();
if (! empty ($link)){
$r = oci_rollback ($link);
}
return $r;
}
}
$oracle = new oracle ();
$sql = "SELECT * from T_LMS_USERS where USERID='2'";
$data = $oracle-> oracle_fetch_row ($sql,0);
print_r ($data);
?>







