下面是关于“PHP连接Oracle数据库的方法”的完整攻略。
准备工作
在开始连接Oracle数据库之前,需要完成以下几个准备工作:
- 在本地或者服务器上安装Oracle客户端。
- 将PHP中的oci8扩展安装好,可以在php.ini中找到如下配置项:
extension=oci8.so
或extension=oci8_11g.so
(根据Oracle客户端的版本不同而定)。
连接Oracle数据库
方法一:使用PDO
<?php
$tns = "
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)";
$username = "username";
$password = "password";
try {
$conn = new PDO("oci:dbname=".$tns, $username, $password);
echo "连接成功";
} catch (PDOException $e) {
echo "Error: ".$e->getMessage();
}
?>
方法二:使用oci_connect()
<?php
$server = "localhost:1521/orcl";
$username = "username";
$password = "password";
$conn = oci_connect($username, $password, $server);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} else {
echo "连接成功";
oci_close($conn);
}
?>
示例说明
示例一:查询数据
<?php
$server = "localhost:1521/orcl";
$username = "username";
$password = "password";
$conn = oci_connect($username, $password, $server);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} else {
$sql = "SELECT * FROM users";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
while($row = oci_fetch_array($stmt, OCI_ASSOC+OCI_RETURN_NULLS)) {
echo "用户ID: " . $row['ID'] . "<br>";
echo "用户名: " . $row['NAME'] . "<br>";
}
oci_free_statement($stmt);
oci_close($conn);
}
?>
示例二:插入数据
<?php
$server = "localhost:1521/orcl";
$username = "username";
$password = "password";
$conn = oci_connect($username, $password, $server);
if (!$conn) {
$e = oci_error();
trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} else {
$sql = "INSERT INTO users(id, name) VALUES (1, '张三')";
$stmt = oci_parse($conn, $sql);
oci_execute($stmt);
echo "插入成功";
oci_free_statement($stmt);
oci_close($conn);
}
?>
以上便是连接Oracle数据库的方法和一些相关示例。注意,在使用oci8扩展时,需要确保在php.ini中正确设置了Oracle客户端的路径和版本信息。如果连接失败,可以检查配置是否正确或者查看日志以获取更多帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php连接oracle数据库的方法(测试成功) - Python技术站