Exemplos

A seguir está um exemplo simples que estabelece uma conexão entre o PHP e o CUBRID. Esta seção cobrirá os recursos mais básicos e notáveis. O código a seguir é necessário para conectar-se ao banco de dados CUBRID, o que significa que o CUBRID Server e o CUBRID Broker devem estar em execução.

O exemplo abaixo usa o banco de dados demodb como exemplo. Por padrão, ele é criado durante a instalação. Certifique-se de que ele foi criado.

Example #1 Exemplo de recuperação de dados

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc-kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * Define informações do servidor para conexão CUBRID. host_ip é o endereço
         * IP onde o CUBRID Broker está instalado (localhost neste
         * exemplo), e host_port é o número da porta do CUBRID Broker.
         * O número da porta é o padrão fornecido durante a instalação.
         * Para obter detalhes, consulte o "Guia do Administrador".
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        /**
         * Conecta ao servidor CUBRID. Não faz a conexão real, mas
         * apenas retém as informações da conexão. A razão para não fazer
         * a conexão real é para lidar com transações com mais eficiência
         * na arquitetura de 3 camadas.
         */
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Erro de conexão com banco de dados";
            exit;
        }
    ?>
    <?php
        $sql = "select sports, count(players) as players from event group by sports";
        /**
         * Solicita ao CUBRID Server os resultados da instrução SQL.
         * Agora faz a conexão real com o CUBRID Server.
         */
        $result = cubrid_execute($cubrid_con, $sql);

        if ($result) {
            /**
             * Obtém os nomes das colunas do conjunto de resultados criado pela consulta SQL.
             */
            $columns = cubrid_column_names($result);
            /**
             * Obtém o número de colunas no conjunto de resultados criado pela consulta SQL.
             */
            $num_fields = cubrid_num_cols($result);
            /**
             * Lista os nomes das colunas do conjunto de resultados na tela.
             */
            echo "<tr>";

            while (list($key, $colname) = each($columns)) {
                echo "<td align=center>$colname</td>";
            }

            echo "</tr>";

            /**
             * Obtém os resultados do conjunto de resultados.
             */
            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>";
            }
        }
        /**
         * O módulo PHP no CUBRID é executado em uma arquitetura de 3 camadas. Mesmo ao
         * chamar SELECT para processamento da transação, ela é processada como parte
         * da transação. Portanto, a transação precisa ser revertida
         * chamando-se commit ou rollback mesmo que SELECT tenha sido chamado, para obter um desempenho
         * suave.
         */
        cubrid_commit($cubrid_con);
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>

Example #2 Exemplo de inserção de dados

<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=euc- kr">
    </head>
    <body>
    <center>
    <table border=2>
    <?php
        /**
         * host_ip é o endereço IP onde o CUBRID Broker está instalado
         * host_port é o número da porta do CUBRID Broker
         * db_name é o nome do banco de dados CUBRID
         */
        $host_ip = "localhost";
        $host_port = 33000;
        $db_name = "demodb";
        $cubrid_con = @cubrid_connect($host_ip, $host_port, $db_name);

        if (!$cubrid_con) {
            echo "Erro de conexão com banco de dados";
            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) {
            /**
             * Tratado com sucesso, então confirma.
             */
            cubrid_commit($cubrid_con);
            echo "Inserido com sucesso";
        } else {
            /**
             * Ocorreu um erro, então a mensagem de erro é exibida e a reversão é chamada.
             */
            echo cubrid_error_msg();
            cubrid_rollback($cubrid_con);
        }
        cubrid_disconnect($cubrid_con);
    ?>
    </body>
    </html>