php连接oracle数据库的方法
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数据库的方法的更多相关文章
- [C#.Net]C#连接Oracle数据库的方法
首先介绍下开发环境:WIn10 64bit+Visual Studio 2015+Oracle10ClientWin32(只是客户端,如果安装整个数据库也是可以的) 目前了解C#中连接Oracle数据 ...
- C#连接Oracle数据库的方法(Oracle.DataAccess.Client也叫ODP.net)
官方下载地址(ODP.net)(中文):http://www.oracle.com/technetwork/cn/topics/dotnet/downloads/index.html 官方下载地址(O ...
- LOADRUNNER连接ORACLE数据库的方法
LOADRUNNER连接ORACLE数据库的方法 最近正在做一个测试数据库性能的项目,直接写出来的连接数据库并且进行数据库查询和插入的脚本在VUSER_INIT中(连接数据库)#include ...
- 用ASP.Net(C#)连接Oracle数据库的方法及实例
今天看了一下asp.net连接oracle数据库的方法,得到了如下代码.这段代码打开了MyTable表,并把操作员的名字列出.字段类型是OracleString.读取的时候用的是字段编号,我不知道怎么 ...
- 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 ...
- C#连接Oracle数据库的方法
目前了解C#中连接Oracle数据库的方法有3种,分布是微软的System.Data.OracleClient,Oracle的Oracle.DataAccess.Client和Oracle的Oracl ...
- VS2010下连接Oracle数据库的方法
在vs2010下使用OleDB连接Oracle数据库 ——此方法不需要配置数据源. 1. 在“服务器资源管理器”中,选择“数据库连接”,右击,选择“添加连接”. 2. 出现下面的界面,并按图中选择“用 ...
- 不安装Oracle客户端使用PLSQL连接Oracle数据库的方法
1,下载PL\SQL http://dl8.cr173.com/soft1/PLSQLDeveloper10_ha.zip(这个是我下载的,带破解和汉化); 2,下载完后傻瓜式安装 ,这里说下,1是P ...
- java代码连接oracle数据库的方法
oracle连接数据库的方式和mysql是大同小异的,主要的困难点在于oracle的数据库驱动包和依赖只有官方提供,如果你是用maven添加依赖的话,需要自己从官网下载jar包安装到你本地的maven ...
随机推荐
- 导航VC的左右item代码
代码控制左右item: UIButton *btnCancel = [UIButton buttonWithType:UIButtonTypeCustom]; btnCancel.frame= ...
- 根据Url 获取图片尺寸 iOS
// 根据图片url获取图片尺寸 +(CGSize)getImageSizeWithURL:(id)imageURL { NSURL* URL = nil; if([imageURL ...
- Java 7新方法probeContentType的C#实现方式
在Java 7中增加了新的一个方法——probeContentType,其主要作用是可以判断文件的content type.相应代码如下所示: import java.io.IOException; ...
- 改进ConcurrentDictionary并行使用的性能
上一篇文章“ConcurrentDictionary 对决 Dictionary+Locking”中,我们知道了 .NET 4.0 中提供了线程安全的 ConcurrentDictionary< ...
- 修改注册表来修改IE的设置---资料汇总
原文链接: http://blog.csdn.net/wangqiulin123456/article/details/17068649 附带批处理执行脚本: @echo off &title ...
- C语言 对称矩阵 压缩 实现
对称矩阵压缩的简单实现 (GCC编译). /** * @brief C语言 对称矩阵 压缩 实现 * @author wid * @date 2013-11-03 * * @note 若代码存在 bu ...
- 团队项目--站立会议 DAY3
小组名称:D&M 参会人员:张靖颜,钟灵毓秀,何玥,赵莹,王梓萱 今天是站立会议的第三天 在前两次会议的基础上 组员们总结了自己在任务中的经验 个抒己论在会议中进行了一些讨论 并且对接下来的工 ...
- 虚拟机VirtualBox中centos6.5网络设置
一.虚拟机网络配置 默认只是设置了网卡1:方式NAT(对应ifcfg-eth0) 我们还可以设置网卡2,网卡3.可以在系统安装完成后设置. 网卡2设置回环网卡,实现虚拟机与宿主机组成局域网(对应ifc ...
- Atitit.如何选择技术职业方向
Atitit.如何选择技术职业方向 1. 原则是应该如下的应该从以下指标判断1 1.1. 技术的长寿性(长生命周期1 1.2. 技术的普适性(市场份额)1 1.3. **属于open体系还是封闭体系? ...
- atitit.提升软件开发的效率and 质量的那些强大概念and方法总结
atitit.提升软件开发的效率and 质量的那些强大概念and方法总结 1. 主流编程中三个最糟糕的问题 1 1.1. 从理解问题后到实现的时间很长 1 1.2. 理解和维护代码 2 1.3. 学 ...