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