Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 | 

PHP Sample

The following is a simple example that establishes a connection between PHP and CUBRID. This section will cover the most basic and notable features. Before running the sample program, a database and the Broker you are trying to connect must be running. This example uses the demodb database created during the installation.

Example of Data Retrieval

<html>

<head>

<meta http-equiv='content-type' content='text/html; charset=euc-kr'

</head>

<body>

<center>

<table border=2>

<?

   // 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 = 30000;

   $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;

   }

?>

<?

   $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 of Data Insertion

<html>

<head>

<meta http-equiv='content-type' content='text/html; charset=euc- kr'>

</head>

<body>

<center>

<table border=2>

<?

   $host_ip = "localhost";

   $host_port = 30000;

    $db_name = "demodb";

   $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

   if (!$cubrid_con) {

        echo "Database Connection Error";

       exit;

   }

?>

<?

   $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_commit($cubrid_con);

   }

   cubrid_disconnect($cubrid_con);

?>

</body></html>