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';
- }