以下是一个简单的示例,它建立了PHP和CUBRID之间的连接。本节将介绍最基本和最显著的特性。以下代码需要连接到CUBRID数据库,这意味着CUBRID服务器和CUBRID Broker必须正在运行。
下面的示例使用demodb数据库作为示例。默认情况下,它在安装过程中创建。请确保它已创建。
示例 #1 数据检索示例
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
</head>
<body>
<center>
<table border=2>
<?php
/**
* 设置CUBRID连接的服务器信息。host_ip是安装CUBRID Broker的IP地址(本例中为localhost),host_port是CUBRID Broker的端口号。
* 端口号是安装时给出的默认值。
* 详情请参见“管理员指南”。
*/
$host_ip = "localhost";
$host_port = 33000;
$db_name = "demodb";
/**
* 连接到CUBRID服务器。不进行实际连接,只保留连接信息。不进行实际连接的原因是为了在3层架构中更有效地处理事务。
*/
$cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);
if (!$cubrid_con) {
echo "数据库连接错误";
exit;
}
?>
<?php
$sql = "select sports, count(players) as players from event group by sports";
/**
* 请求CUBRID服务器获取SQL语句的结果。
* 现在进行实际连接到CUBRID服务器。
*/
$result = cubrid_execute($cubrid_con, $sql);
if ($result) {
/**
* 从SQL查询创建的结果集中获取列名。
*/
$columns = cubrid_column_names($result);
/**
* 获取SQL查询创建的结果集中的列数。
*/
$num_fields = cubrid_num_cols($result);
/**
* 在屏幕上列出结果集的列名。
*/
echo "<tr>";
while (list($key, $colname) = each($columns)) {
echo "<td align=center>$colname</td>";
}
echo "</tr>";
/**
* 从结果集中获取结果。
*/
while ($row = cubrid_fetch($result)) {
echo "<tr>";
for ($i = 0; $i < $num_fields; $i++) {
echo "<td align=center>";
echo $row[$i];
echo "</td>";
}
echo "</tr>";
}
}
/**
* CUBRID中的PHP模块在3层架构中运行。即使调用SELECT进行事务处理,它也会作为事务的一部分进行处理。因此,即使调用了SELECT,也需要通过调用commit或rollback来回滚事务,以确保平滑的性能。
*/
cubrid_commit($cubrid_con);
cubrid_disconnect($cubrid_con);
?>
</body>
</html>
示例 #2 数据插入示例
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
</head>
<body>
<center>
<table border=2>
<?php
/**
* host_ip是安装CUBRID Broker的IP地址
* host_port是CUBRID Broker的端口号
* db_name是CUBRID数据库的名称
*/
$host_ip = "localhost";
$host_port = 33000;
$db_name = "demodb";
$cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);
if (!$cubrid_con) {
echo "数据库连接错误";
exit;
}
?>
<?php
$sql = "insert into olympic (host_year,host_nation,host_city,"
. "opening_date,closing_date) values (2008, 'China', 'Beijing',"
. "to_date('08-08-2008','mm-dd-yyyy'),to_date('08-24-2008','mm-dd-yyyy')) ;";
$result = cubrid_execute($cubrid_con, $sql);
if ($result) {
/**
* 成功处理,因此提交。
*/
cubrid_commit($cubrid_con);
echo "插入成功 ";
} else {
/**
* 发生错误,因此输出错误消息并调用回滚。
*/
echo cubrid_error_msg();
cubrid_rollback($cubrid_con);
}
cubrid_disconnect($cubrid_con);
?>
</body>
</html>