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

  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日

相关文章

  • 详解MySQL位运算符

    MySQL位运算符是一种特殊的运算符,用于对二进制数进行操作。它们包括AND(&)、OR(|)、XOR(^)、NOT(~)、左移(<<)和右移(>>),本文将详细解释每个运算符的作用和使用方法,并提供一些示例。 AND(&) AND运算符将两个二进制数中的每个位相比较,如果都是1,则结果是1,否则为0。例如: SELE…

    MySQL 2023年3月9日
    00
  • Windows MySQL8.0安装出错解决方案(Start Server 失败)

    1、先删除之前安装出错的MySQL cmd—->切换到C:\Program Files\MySQL\MySQL Server 8.0\bin(mysql默认安装路径) 输入命令:mysqld –remove mysql 再输入命令:mysqld –remove mysql80   2、初始化设置 输入:mysqld –initialize-i…

    MySQL 2023年4月12日
    00
  • PostgreSql生产级别数据库安装要注意事项

    PostgresSQL生产级别数据库安装要注意事项 PostgreSQL是一款非常优秀的开源数据库,被广泛应用于企业级应用中。本文将详细介绍PostgreSQL在生产环境中的安装流程,并提供具体的注意事项。 硬件与环境要求 在安装PostgreSQL之前,我们需要确认硬件与环境是否满足要求: 操作系统:PostgreSQL支持多种操作系统,包括Linux、W…

    database 2023年5月18日
    00
  • MySQL数据定义语言DDL的基础语句

    MySQL数据定义语言(DDL)的基础语句主要包含以下几种: CREATE语句:创建数据库、表、视图、存储过程、函数等对象。 — 创建一个名为example的数据库 CREATE DATABASE example; — 创建一个名为students的表 CREATE TABLE students( id INT PRIMARY KEY, name VAR…

    database 2023年5月18日
    00
  • SQL查询方法精华集

    SQL查询方法精华集 简介 本文将介绍SQL查询方法的精华集,涵盖了常见的查询语句以及一些高级的查询方法。可以快速提高你在SQL查询方面的技能,适用于初学者和中级SQL使用者。 常见查询语句 1. SELECT语句 用于从表中获取数据。示例如下: SELECT * FROM 表名; 其中,*表示返回所有列;表名是你要查询的表名。 2. WHERE语句 用于指…

    database 2023年5月21日
    00
  • .net中webconfig 详解

    下面是”.net中webconfig 详解”的完整攻略。 一、什么是Web.config Web.config是一个XML格式的文件,它存储着一个Web应用程序中的配置信息,如数据库连接字符串、身份验证方式、Session状态管理等等。 Web.config配置信息可以修改,可以在运行时动态修改,这样就不用重新编译整个应用程序,使得应用程序的管理更加方便。 …

    database 2023年5月21日
    00
  • MySQL中Replace语句用法实例详解

    下面我就详细讲解一下“MySQL中Replace语句用法实例详解”的攻略。 什么是Replace语句 Replace语句是用于替换/更新表中数据的MySQL命令。该命令可以替换掉已有的记录,如果记录不存在,则会插入一条新记录。语法如下: REPLACE [LOW_PRIORITY | DELAYED] [INTO] table_name [(col_name…

    database 2023年5月22日
    00
  • Centos7下oracle12c的安装与配置图文教程(详细)

    以下是“Centos7下oracle12c的安装与配置图文教程(详细)”的完整攻略: 1. 安装前准备 在开始安装之前,需要安装一些必要的依赖和配置系统参数。具体步骤如下: 安装必要依赖 yum install binutils -y yum install compat-libcap1 -y yum install compat-libstdc++-33 …

    database 2023年5月22日
    00
合作推广
合作推广
分享本页
返回顶部