PHP连接ORACEL9I 好像需要配置ORACLE的环境变量,具体是哪里变量我已经忘了:( 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 问题的关键是本机装了9i得服务端和客户端。可是仍然不能加载oci.dll使用phoinfo()看不到oci8相关的信息,后来到OTN网站down了一个instansclient就可以了而事实上,如果本机装了9i得服务端和客户端。是不需要instansclient的,我看到我的环境变量PATH里面第一个就是ORACEL得BIN目录,并且也找到了OCI.DLL函数,但是APACHE启动的时候就是无法加载PHP_OCI8.DLL,如果把PATH里面加上instansclient的路径,就是可以正常启动的,能加载PHP_OCI8.DLL。我在想是不是我得ORACLE版本不好,导致BIN下的文件不能被加载,或者说我用的是盗版,总之如果使用BIN下的OCI.DLL就是不能,这个就是奇怪的地方了。 <?phpecho "<pre>";$db = "";$c1 = oci_connect("scott", "tiger", $db);$c2 = oci_connect("scott", "tiger", $db);function create_table($conn){ $stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))"); oci_execute($stmt); echo $conn . " created table\n\n";}function drop_table($conn){ $stmt = oci_parse($conn, "drop table scott.hallo"); oci_execute($stmt); echo $conn . " dropped table\n\n";}function insert_data($conn){ $stmt = oci_parse($conn, "insert into scott.hallo values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"); oci_execute($stmt, OCI_DEFAULT); echo $conn . " inserted hallo\n\n";}function delete_data($conn){ $stmt = oci_parse($conn, "delete from scott.hallo"); oci_execute($stmt, OCI_DEFAULT); echo $conn . " deleted hallo\n\n";}function commit($conn){ oci_commit($conn); echo $conn . " committed\n\n";}function rollback($conn){ oci_rollback($conn); echo $conn . " rollback\n\n";}function select_data($conn){ $stmt = oci_parse($conn, "select * from scott.hallo"); oci_execute($stmt, OCI_DEFAULT); echo $conn."----selecting\n\n"; while (oci_fetch($stmt)) { echo $conn . " [" . oci_result($stmt, "TEST") . "]\n\n"; } echo $conn . "----done\n\n";}create_table($c1);insert_data($c1); // Insert a row using c1insert_data($c2); // Insert a row using c2select_data($c1); // Results of both inserts are returnedselect_data($c2);rollback($c1); // Rollback using c1select_data($c1); // Both inserts have been rolled backselect_data($c2);insert_data($c2); // Insert a row using c2commit($c2); // Commit using c2select_data($c1); // Result of c2 insert is returneddelete_data($c1); // Delete all rows in table using c1select_data($c1); // No rows returnedselect_data($c2); // No rows returnedcommit($c1); // Commit using c1select_data($c1); // No rows returnedselect_data($c2); // No rows returneddrop_table($c1);echo "</pre>";?> MySQL 使用php循环执行mysql 长时间执行,是否会执行超时 关于json中有\的问题 关于前台搜索功能 mysql连接错误 请问怎样用正则查找类似<>中的的值啊 怎么输出二进制数据流 这是什么问题呢? mcrypt库不能加载怎么办?(在线) 关于mysql+php的错误!请教!!! 如何让网页在右框架中显示?? phpwind和自己网站整合问题 php程序运行问题
可是仍然不能加载oci.dll使用phoinfo()看不到oci8相关的信息,后来到OTN网站down了一个instansclient就可以了而事实上,如果本机装了9i得服务端和客户端。是不需要instansclient的,我看到我的环境变量PATH里面第一个就是ORACEL得BIN目录,并且也找到了OCI.DLL函数,但是APACHE启动的时候就是无法加载PHP_OCI8.DLL,如果把PATH里面加上instansclient的路径,就是可以正常启动的,能加载PHP_OCI8.DLL。
我在想是不是我得ORACLE版本不好,导致BIN下的文件不能被加载,或者说我用的是盗版,总之如果使用BIN下的OCI.DLL就是不能,这个就是奇怪的地方了。
echo "<pre>";
$db = "";$c1 = oci_connect("scott", "tiger", $db);
$c2 = oci_connect("scott", "tiger", $db);function create_table($conn)
{
$stmt = oci_parse($conn, "create table scott.hallo (test varchar2(64))");
oci_execute($stmt);
echo $conn . " created table\n\n";
}function drop_table($conn)
{
$stmt = oci_parse($conn, "drop table scott.hallo");
oci_execute($stmt);
echo $conn . " dropped table\n\n";
}function insert_data($conn)
{
$stmt = oci_parse($conn, "insert into scott.hallo
values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))");
oci_execute($stmt, OCI_DEFAULT);
echo $conn . " inserted hallo\n\n";
}function delete_data($conn)
{
$stmt = oci_parse($conn, "delete from scott.hallo");
oci_execute($stmt, OCI_DEFAULT);
echo $conn . " deleted hallo\n\n";
}function commit($conn)
{
oci_commit($conn);
echo $conn . " committed\n\n";
}function rollback($conn)
{
oci_rollback($conn);
echo $conn . " rollback\n\n";
}function select_data($conn)
{
$stmt = oci_parse($conn, "select * from scott.hallo");
oci_execute($stmt, OCI_DEFAULT);
echo $conn."----selecting\n\n";
while (oci_fetch($stmt)) {
echo $conn . " [" . oci_result($stmt, "TEST") . "]\n\n";
}
echo $conn . "----done\n\n";
}create_table($c1);
insert_data($c1); // Insert a row using c1
insert_data($c2); // Insert a row using c2select_data($c1); // Results of both inserts are returned
select_data($c2);rollback($c1); // Rollback using c1select_data($c1); // Both inserts have been rolled back
select_data($c2);insert_data($c2); // Insert a row using c2
commit($c2); // Commit using c2select_data($c1); // Result of c2 insert is returneddelete_data($c1); // Delete all rows in table using c1
select_data($c1); // No rows returned
select_data($c2); // No rows returned
commit($c1); // Commit using c1select_data($c1); // No rows returned
select_data($c2); // No rows returneddrop_table($c1);
echo "</pre>";
?>