PHP+Oracle本地开发环境搭建方法详解

yizhihongxing
  1. 安装PHP

  2. 下载php安装包:在php官网下载最新PHP版本的zip包(https://windows.php.net/download/);

  3. 解压到C:盘根目录下,将文件夹“php-xxxxx”重命名为“php”;
  4. 配置PHP:将C:\php\php.ini-development重命名为C:\php\php.ini,并使用任何文本编辑器(如记事本++)编辑文件,调用Oracle支持的PDO驱动程序,在extension处将oci8和pdo_oci取消注释,然后保存并关闭编辑器。

  5. 安装Oracle数据库

  6. 下载Oracle安装程序:在Oracle官网下载Oracle 11g Express实例(https://www.oracle.com/database/technologies/xe-prior-releases.html);

  7. 使用管理员权限启动安装程序;
  8. 安装过程中,选择默认值,包括端口号和DB名称,并设置system密码。

  9. 配置Oracle连接

  10. 在windows搜索栏输入“ODBC”,点击“ODBC数据源(64位)”打开窗口;

  11. 点击“系统DNS”选项卡,然后单击下面的“添加”按钮;
  12. 在“驱动程序”中选择“Oracle in XE”(或Oracle的其他版本),然后输入以下信息:

    • 数据源名称(任意);
    • TNS服务名称“xe”;
    • 用户名“system”;
    • 密码“你在第二步中设置的密码”;
    • 然后点击测试按钮,并且确保测试连接成功。
  13. 使用PHP连接Oracle

  14. 在PHP脚本中连接Oracle:

<?php
$conn = oci_connect('system', 'password', 'xe');
if (!$conn) {
    $m = oci_error();
    echo $m['message'], "\n";
    exit;
}
echo '连接成功!';
?>
  • 代码细节:

    • oci_connect()函数使用用户名“system”和密码连接到每个Oracle实例“xe”;
    • 若未能连接成功,则输出错误信息。
  • 示例一:查询Oracle数据库中所有员工信息的代码实现

<?php
$conn = oci_connect('system', 'password', 'xe');
if (!$conn) {
    $m = oci_error();
    echo $m['message'], "\n";
    exit;
}

$query = 'SELECT * FROM EMPLOYEES';

$stid = oci_parse($conn, $query);
if (!$stid) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($stid);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

echo "<table>\n";
while ($row = oci_fetch_array($stid, OCI_ASSOC+OCI_RETURN_NULLS)) {
    echo "<tr>\n";
    foreach ($row as $item) {
        echo "    <td>" . ($item !== null ? htmlentities($item, ENT_QUOTES) : "&nbsp;") . "</td>\n";
    }
    echo "</tr>\n";
}
echo "</table>\n";
?>
  • 代码细节:
  • 使用oci_parse函数解析查询语句;
  • 使用oci_execute函数执行语句,若查询失败,则返回错误信息;
  • 使用oci_fetch_array函数遍历结果集,并将结果集输出到表格中。

  • 示例二:将员工信息插入到Oracle数据库中

<?php
$conn = oci_connect('system', 'password', 'xe');
if (!$conn) {
    $m = oci_error();
    echo $m['message'], "\n";
    exit;
}

$name = 'Tom';
$age  = 24;
$sex  = '男';
$sql  = "INSERT INTO EMPLOYEES(id, name, age, sex) VALUES (employees_seq.nextval, :name, :age, :sex )";
$stid = oci_parse($conn, $sql);
oci_bind_by_name($stid, ':name', $name, 256);
oci_bind_by_name($stid, ':age', $age, 256);
oci_bind_by_name($stid, ':sex', $sex, 256);

$r = oci_execute($stid);
if (!$r) {
    $e = oci_error($conn);
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
}

echo " $name 的资料已更新成功!";

?>
  • 代码细节:
  • 使用oci_bind_by_name绑定变量,使用oci_parse解析SQL语句,并使用oci_execute执行SQL语句,若插入数据失败,则返回错误信息;
  • SQL语句中使用SEQUENCE记录ID, ":"为占位符。在使用oci_bind_by_name函数修改变量时,注意 ':' 不需要写在变量名前。

至此,本地开发环境搭建方法已经详细讲解完毕,示例演示了如何连接Oracle,使用PHP查询和插入数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PHP+Oracle本地开发环境搭建方法详解 - Python技术站

(0)
上一篇 2023年5月22日
下一篇 2023年5月22日

相关文章

  • Node.js数据库操作之连接MySQL数据库(一)

    下面是“Node.js数据库操作之连接MySQL数据库(一)”的完整攻略: 连接MySQL数据库 安装MySQL 首先需要下载并安装MySQL,可以从官网或镜像站点中下载。安装完成后,需要设置root用户的密码。 安装mysql模块 接下来需要安装npm的mysql模块,可以使用npm命令进行安装: $ npm install mysql 连接MySQL c…

    database 2023年5月18日
    00
  • springboot+mybatis+druid+sqlite/mysql/oracle

    搭建springboot+mybatis+druid+sqlite/mysql/oracle附带测试   1.版本 springboot2.1.6 jdk1.8 2.最简springboot环境 https://www.cnblogs.com/SmilingEye/p/11422536.html 3.pom(sqlite配置) spring-boot-sta…

    MySQL 2023年4月12日
    00
  • mariadb的主从复制、主主复制、半同步复制配置详解

    Mariadb的主从复制、主主复制、半同步复制配置详解 Mariadb是一款常用的开源数据库,支持不同的复制方式,包括主从复制、主主复制和半同步复制。这篇攻略将帮助你详细了解这些复制方式的基本原理和如何配置。 主从复制 在主从复制中,一个Mariadb服务器是主服务器(Master),而其他的服务器(Slave)是从服务器。主服务器将自己的所有更改操作记录到…

    database 2023年5月21日
    00
  • oracle chm帮助文件下载

    下面是“oracle chm帮助文件下载”的完整攻略。 1. 确认下载版本 首先,你需要确认你需要下载的Oracle版本和类型,不同版本的Oracle可能需要下载不同的帮助文档。如果你想下载Oracle 12c的帮助文件,可以进入Oracle官网搜索对应版本的文档进行下载。 2. 下载帮助文件 Oracle官网提供了多种下载方式,例如通过MOS下载、通过Or…

    database 2023年5月21日
    00
  • MySQL数据库JDBC编程详解流程

    下面我将详细讲解“MySQL数据库JDBC编程详解流程”的完整攻略。 MySQL数据库JDBC编程详解流程 本文将详细讲解在Java程序中使用MySQL数据库JDBC编程的流程。这个过程主要包含以下几个步骤: 步骤一:加载数据库驱动 在Java程序中,我们需要通过加载数据库驱动来连接数据库。不同的数据库有不同的驱动,而我们使用MySQL数据库,所以我们需要加…

    database 2023年5月19日
    00
  • Clash Linux服务器安装详细教程

    Clash Linux服务器安装详细教程 本文将介绍在Linux服务器上安装Clash的详细步骤,以及一些常见问题的解决方案。 步骤一:安装Clash 方法一:使用二进制文件 访问Clash Github Release页面,下载最新版本的Clash二进制文件。 上传二进制文件到服务器的指定目录中。 运行以下命令启动Clash: chmod +x /path…

    database 2023年5月22日
    00
  • Python+WordPress制作小说站

    下面是“Python+WordPress制作小说站”的完整攻略。 准备工作 在开始制作小说站之前,需要先准备一些工具和环境: 一台安装了WordPress的服务器或云主机,推荐使用Linux系统; Python 3.x环境,可以在服务器上安装或在本地搭建环境,用于爬取小说数据并生成网页; 数据库管理工具,例如phpMyAdmin,用于管理WordPress的…

    database 2023年5月22日
    00
  • RedisClient 连接redis 提示 ERR Client sent AUTH, but no password is set

    使用redisclient连接redis出现上图的错误 在配置中已经找到requirepass修改了密码,但是还是出现上图错误。在网上找了资料在dos设置 出现上图红框中的错误,研究了半天也没有解决。后来将配置中的requirepass重新注释掉,在重新配置就可以了。     参考文章 http://www.cnblogs.com/robinli/p/926…

    Redis 2023年4月13日
    00
合作推广
合作推广
分享本页
返回顶部