php连接oracle oracle开启扩展
<?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记录-开启与关闭数据库
1.配置tnsnames.ora/listener.ora #cd /usr/oracle/oracle/product/11.2.0/db_1/network/admin ---切换到安装目录 #v ...
- 通过MSSQL连接服务器连接至Oracle数据库
前言 有很多时候,我们需要MSSQL与Oracle进行跨库查询或数据交互.本篇随笔将阐述如何通过MSSQL的连接服务器连接至Oracle数据库,并且读取数据的示例. 具体步骤 首先需要到Oracle的 ...
- PLSQL Developer连接远程Oracle方法(非安装客户端)
Oracle比较麻烦,通常需要安装oracle的客户端才能实现.通过instantclient可以比较简单的连接远程的Oracle. 1.新建目录D:\Oracle_Cleint用于存放相关文件,新建 ...
- 不安装Oracle客户端使用PL/SQL连接服务器端Oracle
从10G开始,Oracle 提供了一个较为轻量级的客户包,叫做Instant Client Package. 将它安装好后,就不用再安装庞大的Oracle客户端,可以直接通过使用PL/SQL连接服务器 ...
- 大并发连接的oracle在Linux下内存不足的问题的分析
大并发连接的oracle在Linux下内存不足的问题的分析 2010-01-28 20:06:21 分类: Oracle 最近一台装有Rhel5.3的40G内存的机器上有一个oracle数据库,数据库 ...
- PL/SQL Developer连接远程Oracle数据库
转自:http://zhengdu.net/archives/152 一.首先看远程端oracle服务是否启动 如果没有启动,请启动oracle服务 ps:创建或者删除oracle监听 二.远程端or ...
- ODAC连接远程Oracle数据库时,数据源名称orcl改为gscloud
今天用ODAC连接远程Oracle数据库时,怎么也连接不上, 更改配置文件的tnsname.ora,使之都一样,并完全配置正确还是出现错误,连接不上. 最后请大神一世,原来是数据源名称的问题. 把数据 ...
- 使用jdbc连接上oracle的两种方法
1. 使用thin连接 优点:thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,无需安装Oracle客户端,只 ...
- sql plus 和 pl/sql无法连接远程oracle数据库
前言:安装完oracle客户端后,可能会出现sql plus 和 pl/sql无法连接远程oracle数据库的情况,可能是以下原因: 针对sql plus连接不上: 1 可能原因:之前安装过oracl ...
- 强制删除正在连接的Oracle用户,以删除SDE用户为例
. 有时候想强制删除一个已经连接的Oracle用户,不能直接删除,可以用Kill会话信息. 比如今天想删除一个被连接的SDE用户,可以用以下方法删除一个“正在被连接”的用户. 1.查看所有用户的会话信 ...
随机推荐
- 【计算机视觉】MTCNN基于NCNN的测试过程
前言 操作过程 NCNN: https://github.com/Tencent/ncnn/wiki/how-to-build#build-for-linux-x86; vector初始化: int ...
- Java 代码快速注释 和 取消注释
注释掉代码: 把要注释的代码选中: 加/* */ 形式的注释 -> Ctrl+Shift+/ 加 //形式的形式的注释 -> ctrl+/ 取消代码注释: 把要取消注释的代码选中: ...
- java 中 this 和 super 说明及在构造器中super()和this()相互调用执行顺序
this this 表示当前对象 使用上细分的话,this有 this. 和this()的使用情况 ,下面我们开始细撸 this . 使用场景一: 在成员方法中,this.变量名 指带当前对象的变量, ...
- 一文带你了解babel-preset-env
参考链接:https://www.jianshu.com/p/000c2670672b
- css常见双栏和三栏布局
左侧固定右侧自适应 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- Shortest Unsorted Continuous Subarray
Given an integer array, you need to find one continuous subarray that if you only sort this subarray ...
- Git Bash输错账号密码如何重新输入
很多时候我们容易在Git Bash操作的时候,不慎输入错误的用户名或密码,此时一直提示: remote: Incorrect username or password ( access token ) ...
- GitHub克隆下载代码速度慢解决办法
这几天克隆下载GitHub代码奇慢无比,网上搜索了一下解决方案有些不太完整,自己试验出了比较完整的解决方式: 1.在hosts文件里追加以下内容(IP需要替换掉),以下几个域名一个都不要少,有些文章只 ...
- 考研路茫茫——空调教室HDU2242(Tarjan缩点)
题意:http://acm.hdu.edu.cn/showproblem.php?pid=2242 给你一个图,问你缩完点树上割边的做小绝对值差. 思路: 这题核算起来整整做了我一天(即24个小时)! ...
- 第十章 MIZ702 ZYNQ制作UBOOT固化程序
10.0难度系数★☆☆☆☆☆☆ 10.1是什么是固化 我们前几章将的程序都是通过JTAG先下载bit流文件,再下载elf文件,之后点击Run As来运行的程序.JTAG的方法是通过TCL脚本来初始化P ...