Windows系统上,可以通过编辑php.ini文件,取消以下两行的注释来启用驱动:
;extension=php_pdo_oci.dll ;extension=php_oci8.dll
然后重启Apache或Nginx服务器使配置生效。
Linux系统则通常通过PECL命令或者手动编译安装OCI8或PDO_OCI扩展。具体步骤会因操作系统和PHP版本不同而有所差异,建议参考PHP官方文档进行安装。
$dsn = 'oci:dbname=//hostname:port/oracle_sid'; $username = 'your_username'; $password = 'your_password'; try { $conn = new PDO($dsn, $username, $password); } catch (PDOException $e) { echo 'Connection failed: ' . $e->getMessage(); exit; }
其中,$dsn包含了Oracle数据库的主机名、端口号和SID信息,$username和$password为连接数据库所需的用户名和密码。
$sql = 'SELECT * FROM employees'; $stmt = $conn->query($sql); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo $row['employee_id'] . ' ' . $row['first_name'] . ' ' . $row['last_name'] . '<br>'; }
代码中,$stmt代表查询结果集,通过fetchAll方法获取所有数据,再通过循环逐行输出。
$sql = 'SELECT * FROM employees WHERE department_id = :dept_id'; $stmt = $conn->prepare($sql); $stmt->bindParam(':dept_id', $dept_id); $dept_id = 1; $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo $row['employee_id'] . ' ' . $row['first_name'] . ' ' . $row['last_name'] . '<br>'; }
使用占位符":dept_id"表示查询条件,通过bindParam绑定实际参数,再执行查询。