php连接oracle oracle开启扩展
2014-07-08 15:24
267 查看
<?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);
?>
/**
* 由于公司的需要,使用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);
?>
相关文章推荐
- 简单PHP搜索引擎源代码,需要开启PHP的cURL扩展。功能:对某一网址进行检索,获取网站基本信息,同时提取网站的所有连接。
- php开启mysqli扩展之后如何连接数据库
- php开启mysqli扩展之后如何连接数据库
- 用PHP连接Oracle for NT 远程数据库
- PHP OCI方式连接oracle
- PHP连接Oracle并分页访问(OCI版)
- 关于php连接oracle时的字符编码
- Windows下PHP开启mcrypt扩展和SSL(OpenSSL)扩展支持
- 配置Apache 2.2+PHP 5.2.9支持OCI通过Oracle9i Client连接Oracle
- 在Windows NT IIS环境中 php连接oracle配置的一些步骤的总结
- Ubuntu10.4 下安装LAMP并开启开关PHP扩展
- PHP5+Apache连接Oracle问题
- php连接其他服务器上的oracle服务器
- PHP mysqli 扩展连接代码
- PHP连接Oracle并分页访问
- 浅谈Windows下 PHP4.0与oracle 8的连接设置
- php连接oracle必要步骤
- PHP 连接 Oracle
- Linux下PHP 5.2 Oracle客户端扩展(OCI8)安装