< p >Oracle Raw PHP,即原始 PHP 操作 Oracle 數據庫的方法。在日常的開發中,我們通常會使用 ORM 框架來操作數據庫,如 Laravel 中的 Eloquent 或者 Yii 中的 ActiveRecord。雖然這些框架簡化了操作流程,但有時為了靈活性而需要直接使用原始 PHP 操作數據庫。本文將介紹如何使用 Oracle Raw PHP 來操作 Oracle 數據庫,以及一些常用的操作示例。< p >首先,我們需要在 PHP 中加載 Oracle 擴展。Linux 系統下,可以通過以下命令安裝擴展。< pre >sudo pecl install oci8-2.2.0< p >安裝完成后,在 php.ini 中添加如下擴展配置信息。< pre >extension=oci8.so< p >接下來是連接數據庫的操作。我們需要指定數據庫的連接信息,如主機名、端口、用戶名和密碼等。下面是一個連接 Oracle 數據庫的示例代碼。< pre >$conn = oci_connect('username', 'password', 'tcp://hostname:port/sid', 'utf8');
if (!$conn) {
echo "連接失敗!";
exit();
}< p >連接成功后,我們可以執行 SQL 語句來操作數據庫。下面是一些常見的操作示例。< h3 >查詢數據< pre >$sql = "SELECT * FROM users";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
while ($row = oci_fetch_array($stmt, OCI_ASSOC)) {
echo $row['ID'] . ' - ' . $row['NAME'];
}< h3 >插入數據< pre >$sql = "INSERT INTO users (id, name) VALUES (:id, :name)";
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, ':id', $id);
oci_bind_by_name($stmt, ':name', $name);
$id = 1;
$name = '張三';
oci_execute($stmt);< h3 >更新數據< pre >$sql = "UPDATE users SET name = :name WHERE id = :id";
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, ':id', $id);
oci_bind_by_name($stmt, ':name', $name);
$id = 1;
$name = '李四';
oci_execute($stmt);< h3 >刪除數據< pre >$sql = "DELETE FROM users WHERE id = :id";
$stmt = oci_parse($conn, $sql);
oci_bind_by_name($stmt, ':id', $id);
$id = 1;
oci_execute($stmt);< p >在使用 Oracle Raw PHP 操作數據庫時,需要格外注意 SQL 注入問題。我們應該使用參數化查詢來避免 SQL 注入攻擊。上文中的代碼已經將參數綁定到 SQL 語句中,避免了 SQL 注入問題。< p >綜上所述,本文介紹了如何使用 Oracle Raw PHP 操作 Oracle 數據庫,包括連接數據庫和常用的操作示例。Oracle Raw PHP 操作相對原始,需要自己實現各種操作,但卻能帶來更大的靈活性和自由度。這是 ORM 框架無法比擬的。
下一篇oracle教程php