1.在php.ini中打开extension=php_oci8扩展,重启服务。

2.将php/ext目录下的php_oci8.dll文件拷贝到system32目录下

3.安装 Oracle9i客户端精简版 后重启电脑

配置:

$config = array (

    'dbconfig' =>
array (
'db_host_name' => '192.168.2.197/orcl',
'db_user_name' => 'zbkf',
'db_password' => 'zbkf', ),
);

查询:

    //返回值
$arr_result = array();
$arr_result['result'] = 'false'; //true false 为黑名单
$arr_result['callerid'] = $callerid; //取数据库参数
$db_host_name=$config['dbconfig']['db_host_name']; //'localhost/ORCL''
$db_user_name=$config['dbconfig']['db_user_name'];//'asgr'
$db_pwd=$config['dbconfig']['db_password']; //'asgr' //连接Oracle
$conn = oci_connect($db_user_name,$db_pwd,$db_host_name);//oci_connect('asgr','asgr','localhost/ORCL');
if (!$conn) {
$e = oci_error();
//print htmlentities($e['message']);
//WriteLog("连接Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.") ".htmlentities($e['message']));
$arr_result['result'] = 'false';
echo json_encode($arr_result); //默认为不是黑名单
return;
}
else {
//echo("连接成功!");
//$select = 'SELECT BL_TEL FROM CC_BLACKLIST'; // 查询语句
$select = "Select count(BL_Tel) from CC_BlackList where BL_Tel like '%" . $callerid . "%' and BL_SFQY='0' ";
//WriteLog($select);
$result_rows = oci_parse($conn, $select); // 配置SQL语句,执行SQL
$row_count = oci_execute($result_rows, OCI_DEFAULT); // 行数 OCI_DEFAULT表示不要自动commit
//echo($row_count);
if(!$row_count) { //没有行
$e = oci_error($result_rows);
//echo htmlentities($e['message']);
//WriteLog("查询时出错或没有行!,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.") ". $select." ".htmlentities($e['message']));
$arr_result['result'] = 'false';
echo json_encode($arr_result); //默认为不是黑名单
}
/*
//取每行每列值
while($row = oci_fetch_array($result_rows, OCI_RETURN_NULLS)) {
if($row[0]==$callerid){
$arr_result['result']='true';
echo json_encode($arr_result); //是黑名单
exit;
}
}
*/
$count=0;
while($row = oci_fetch_array($result_rows, OCI_RETURN_NULLS)) {
$count=$row[0];
break;
}
//WriteLog($count);
if($count>=1){
$arr_result['result']='true';
}
else {
$arr_result['result']='false';
}
echo json_encode($arr_result); //默认为不是黑名单
}

插入:

    //连接Oracle
$conn = oci_connect($db_user_name,$db_pwd,$db_host_name);//oci_connect('asgr','asgr','localhost/ORCL');
if (!$conn) {
$e = oci_error();
//print htmlentities($e['message']);
WriteLog("连接Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.") ".htmlentities($e['message']));
$arr_result['result'] = 'false';
echo json_encode($arr_result); //默认为不是黑名单
return;
}
else {
//echo("连接成功!");
$sql = "insert into CC_LEAVEMESSAGE (ID,MESSAGEID,CALLINGNBR,LEAVEMESSAGETIME,FILENAME) values (sys_guid(),'" . $SessionId . "','" . $CallerId . "',sysdate,'" . $RecordFile . "')";
//WriteLog($sql);
$stid = oci_parse($conn, $sql); // 编译SQL语句,准备执行
$r = oci_execute($stid); // 执行SQL oci_free_statement($stid);
oci_close($con); //关闭连接
//WriteLog($r);
if(!$r) {
$e = oci_error($sql);
WriteLog("留言写入Oracle时出错,oci_connect(".$db_user_name.",".$db_pwd.",".$db_host_name.") " .$sql . ' ' .htmlentities($e['message']));
$arr_result['result']='false';
}
else{
$arr_result['result']='true';
}

php连接oracle数据库的方法的更多相关文章

  1. [C#.Net]C#连接Oracle数据库的方法

    首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的) 目前了解C#中连接Oracle数据 ...

  2. C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  3. LOADRUNNER连接ORACLE数据库的方法

    LOADRUNNER连接ORACLE数据库的方法     最近正在做一个测试数据库性能的项目,直接写出来的连接数据库并且进行数据库查询和插入的脚本在VUSER_INIT中(连接数据库)#include ...

  4. 用ASP.Net(C#)连接Oracle数据库的方法及实例

    今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...

  5. C#连接Oracle数据库的方法(System.Data.OracleClient、Oracle.DataAccess.Client也叫ODP.net、Oracle.ManagedDataAccess.dll)

    官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...

  6. C#连接Oracle数据库的方法

    目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracl ...

  7. VS2010下连接Oracle数据库的方法

    在vs2010下使用OleDB连接Oracle数据库 ——此方法不需要配置数据源. 1. 在“服务器资源管理器”中,选择“数据库连接”,右击,选择“添加连接”. 2. 出现下面的界面,并按图中选择“用 ...

  8. 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法

    1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...

  9. java代码连接oracle数据库的方法

    oracle连接数据库的方式和mysql是大同小异的,主要的困难点在于oracle的数据库驱动包和依赖只有官方提供,如果你是用maven添加依赖的话,需要自己从官网下载jar包安装到你本地的maven ...

随机推荐

  1. jsp连接sqlServer数据库教程

    一.首先讲下我用的工具版本以供参考: jar包:jtds1.3.1.jar  下载地址:点击进入 数据库:SQL Server2012 服务器:Tomcat8.0   下载地址:点击进入 开发IDE工 ...

  2. 用Nifi合并二个API、计算并生成新的API

    1. 全景图   2. 合并 根据attribute合并flowfile:   合并 json, 并增加code,message等:   3. 计算方差: 在ExecuteScript里只能用纯pyt ...

  3. JS备忘录

    /** *删除数组指定下标或指定对象 */ Array.prototype.remove = function (obj) { for (var i = 0; i < this.length; ...

  4. 《JavaScript语言精粹》学习笔记

    一.in的用法 for...in 枚举一个对象的所有可枚举属性 检测DOM/BOM属性 if ("onclick" in elem) { // 元素支持onclick } if ( ...

  5. console.log 被重写覆盖以后如何恢复

    有时候一些项目中会使用类似如下的方式覆盖掉console对象: var console = {}; console.log = function(){}; console.info = functio ...

  6. C语言 串 顺序结构 实现

    一个能够自动扩容的顺序结构的串 ArrString (GCC编译). /** * @brief C语言 串 顺序结构 实现 * @author wid * @date 2013-11-01 * * @ ...

  7. 学习WPF——WPF布局——初识布局容器

    StackPanel堆叠布局 StackPanel是简单布局方式之一,可以很方便的进行纵向布局和横向布局 StackPanel默认是纵向布局的 <Window x:Class="Wpf ...

  8. spring mvc ajax 400解决

    The request sent by the client was syntactically incorrect. ajax发起请求时报400错误.请求代码如下: var reportId=($( ...

  9. Visual Studio 发布新版API智能提示

    Visual Studio 新版API智能提示两周前发布.有了它,你可以在调用API的同时,方便了解到API的相关示例代码.这大大地有助于开发人员学习和使用API. 安装方法如下: 1. 打开Visu ...

  10. fckeditor使用(转)

    fckeditor - (1)资料介绍与安装 fckeditor介绍  FCKeditor是一个专门使用在网页上属于开放源代码的所见即所得文字编辑器.  1.fckeditor官网:http://ww ...