范例

下面是一个在PHP和CUBRID建立连接的简单的例子。本节将覆盖最基本和最显著的特性。下面的代码需要连接CUBRID数据库,这意味着 CUBRID服务和 CUBRID Broker已经运行。

下面用demodb数据库作为例子举例。默认在安装时就创建了。确认此数据库已经被创建。

Example #1 数据查询的例子

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        
/**
         * Set server information for CUBRID connection. host_ip is the IP
         * address where the CUBRID Broker is installed (localhost in this
         * example), and host_port is the port number of the CUBRID Broker.
         * The port number is the default given during the installation.
         * For details, see "Administrator's Guide."
         */
        
$host_ip "localhost";
        
$host_port 33000;
        
$db_name "demodb";
        
/**
         * Connect to CUBRID Server. Do not make the actual connection, but
         * only retain the connection information. The reason for not making
         * the actual connection is to handle transaction more efficiently
         * in the 3-tier architecture. 
         */
        
$cubrid_con = @cubrid_connect($host_ip$host_port$db_name);
 
        if (!
$cubrid_con) {
            echo 
"Database Connection Error";
            exit;
        }
    
?>
    <?php
        $sql 
"select sports, count(players) as players from event group by sports";
        
/**
         * Request the CUBRID Server for the results of the SQL statement.
         * Now make the actual connection to the CUBRID Server.
         */
        
$result cubrid_execute($cubrid_con$sql);
 
        if (
$result) {
            
/**
             * Get the column names from the result set created by the SQL query.
             */
            
$columns cubrid_column_names($result);
            
/**
             * Get the number of columns in the result set created by the SQL query.
             */
            
$num_fields cubrid_num_cols($result);
            
/**
             * List the column names of the result set on the screen. 
             */
            
echo("<tr>");
 
            while (list(
$key$colname) = each($columns)) {
                echo(
"<td align=center>$colname</td>");
            }
 
            echo(
"</tr>");
 
            
/**
             * Get the results from the result set.
             */
            
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>");
            }
        }
        
/**
         * The PHP module in the CUBRID runs in a 3-tier architecture. Even when
         * calling SELECT for transaction processing, it is processed as a part
         * of the transaction. Therefore, the transaction needs to be rolled back
         * by calling commit or rollback even though SELECT was called for smooth
         * performance.
         */
        
cubrid_commit($cubrid_con);
        
cubrid_disconnect($cubrid_con);
    
?>
    </body>
    </html>

Example #2 数据插入的例子

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        
/**
         * host_ip is the IP address where the CUBRID Broker is installed
         * host_port is the port number of the CUBRID Broker
         * db_name is the name of CUBRID Database
         */
        
$host_ip "localhost";
        
$host_port 33000;
        
$db_name "demodb";
        
$cubrid_con = @cubrid_connect($host_ip$host_port$db_name);
 
        if (!
$cubrid_con) {
            echo 
"Database Connection Error";
            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) {
            
/**
             * Handled successfully, so commit.
             */
            
cubrid_commit($cubrid_con);
            echo(
"Inserted successfully ");
        } else {
            
/**
             * Error occurred, so the error message is output and rollback is called.
             */
            
echo(cubrid_error_msg());
            
cubrid_rollback($cubrid_con);
        }
        
cubrid_disconnect($cubrid_con);
    
?>
    </body>
    </html>