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. 如果我用C#来输出99表

    题目:参见这个链接,简单点说就是在控制台输出一个99乘方表. 无聊想了个C#版本的解答: private static void Print(int n) { var s = Enumerable.R ...

  2. iOS URL 编码

    一.iOS 中的NSURL编码 iOS 中,NSURL 的基本样式是 scheme://username:password@host:port/path?query#fragment RFC 1738 ...

  3. 用c#开发微信 (21) 微信酒店预订系统

    本系统主要是帮助酒店让客户可以通过微信预订房间,增加酒店的入住率. 1 微信里订酒店 1.1关注微信号 用微信扫描下面的二维码(微信号 webuscn),关注此微信号 1.2订房 点击微信号里的 微布 ...

  4. [DNX]解决dnu restore时找不到Newtonsoft.Json的问题

    在Mac上用最新版的dnx 1.0.0-beta5-11855进行dnu restore,出现下面的错误: System.IO.FileNotFoundException: Could not loa ...

  5. 作业七:团队项目——Alpha版本冲刺阶段-03

    昨天进展:完善界面设计以及象棋图片的绘制 存在问题:人力不足,任务量大. 今天安排:象棋图片的绘制

  6. 基于Qt的流程设计器(一)

    一: 先来看一下界面的截图:   说明: 拖动节点的时候,与该节点相关的箭头连线也会跟着调整: 用户可以使用鼠标从一个节点拖出一个箭头到另一个节点(鼠标在空白区域点击一下,拖出的箭头消失)   这三个 ...

  7. [JS10] 获取时间

    <html> <head> <meta http-equiv="Content-Type" content="text/html; char ...

  8. 让你的CI跑起来-《持续集成》读书总结

    持续集成已经被公认为极具价值的一项工程实践.在初始化一个项目时一个重要的任务就是搭建持续集成服务器,编写构建脚本.在我工作的所有项目中都引入了持续集成机制.它已经像氧气一样成为软件开发过程中的一项工程 ...

  9. String.Format in javascript

    有些时候,我们确实需要在JavaScript中进行字符串替换,类似于C#中的String.Format()方法一样,只不过这种格式化替换只局限于对由'{0}','{1}','{2}'...所组成的“占 ...

  10. 自制一个能显示helloworld的最简单OS

    <自己动手写操作系统> org 07c00h mov ax,cs mov ds,ax mov es,ax call DispStr jmp $ DispStr: mov ax,BootMe ...