在php.ini中打开extension=php_oci8扩展,重启服务。
将php/ext目录下的php_oci8.dll文件拷贝到system32目录下,安装 oracle9i客户端精简版 后重启电脑 (推荐学习:php视频教程)
配置:
$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); //默认为不是黑名单 }
以上就是php为什么连接不上orcle的详细内容。