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綁定實際參數,再執行查詢。