php连接oracle网上方法很多。不只是开启oci8就可以用了
本人只介绍windows服务器的。玩linux绕过,谢谢!
第一种方法
下载php的oci控件 http://download.csdn.net/detail/jiguoguo/5869175 【对不住了5分有点高、没办法没积分下载。赚点积分。呵呵】
下载后把三个dll放到apache的bin目录--开启php.ini的oci8后重启apache。打开phpinfo即可看到oci8已经开启。【配置过几台服务都可以。如果还不行第二种方法】
第二种方法
下载oracle客户端 http://download.csdn.net/detail/jiguoguo/5869215 【2分。不高】
点击下一步下一步安装。开启php.ini的oci8后重启apache。打开phpinfo即可看到oci8已经开启。【如果还是未开启。请重启服务器后。还没开启。哥帮不了你了。你自己想办法。】
-----------------------------------------------------------------------------------------
连接上了oracle 测试一下
注意连接串 192.168.0.10/orcl 这个orcl 每个服务器不一样的。需要查看一下当前服务器的连接符
$conn = oci_connect('xx', 'xxx', '192.168.xx.xx/orcl');//用户名 密码 连接串
if (!$conn) {
$e = oci_error();
print htmlentities($e['message']);
exit;
}
//Echo time();
$query = 'select id from test';
$stid = oci_parse($conn, $query);
$r = oci_execute($stid, OCI_DEFAULT);
while($row = oci_fetch_array($stid, OCI_RETURN_NULLS)) {
Echo $row['ID'];
}
这个是测试连接是否成功的代码。查询一下数据库 怎么插入直接执行oci_execute的sql语句就行了。本人不详细介绍了。详细的请问度娘即可
--------------------------------------------------------------------------------------------------
下面介绍thinkphp操作oracle
下载 http://download.csdn.net/detail/jiguoguo/5869143 ThinkPHP\Lib\Driver\Db下面
config文件
'DB_TYPE' => 'Oracle', // 数据库类型
'DB_HOST' => '192.168.0.3:1523/oracl', // 服务器地址
'DB_NAME' => 'ha', // 数据库名 可以不要
'DB_USER' => 'ha', // 用户名
'DB_PWD' => 'ha', // 密码
thinkphp连接后M('表名称');跟连接mysql一样用。但是有一些不同oracle只支持select,execute,query方法【已经足够了。find好像也支持。我没测试】select方法里面的limt,page,where,table。。。这些都可以用的。add,create,save等等方法不可用
如果查询不到的话说明你访问的是不同库下面的表。
$list=M();
$outList=$list->table('数据库名.表名称')->select();
多服务器连接查询
config文件
'JDC_DB_70_CONFIG'=>array(//网站数据
'db_type' => 'Oracle',
'db_user' => 'xx',
'db_pwd' => 'xx',
'db_host' => '127.0.0.1/haorcl',
'db_name' => 'xx'
),
代码
$list_70=M()->db(1,'JDC_DB_70_CONFIG');
$utopid=$list_70->select();