mirror of
https://github.com/php/doc-ru.git
synced 2026-03-23 23:32:16 +01:00
180 lines
6.9 KiB
XML
180 lines
6.9 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 22492de2eede0a31a4ac486489d5475e1536354d Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="cubrid.examples">
|
||
&reftitle.examples;
|
||
<simpara>Простой пример, в котором устанавливается соединение с CUBRID. В этом разделе
|
||
рассказывается о самых базовых вещах и особенностях, на которые следует обратить
|
||
внимание. Следующий код будет осуществлять соединение с CUBRID, что подразумевает, что
|
||
сервер и брокер CUBRID запущены.</simpara>
|
||
<simpara>Пример ниже использует базу данных demodb, которая создаётся по умолчанию при
|
||
установке. Убедитесь, что она создана.</simpara>
|
||
|
||
<example>
|
||
<title>Пример извлечения данных</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=euc-kr">
|
||
</head>
|
||
<body>
|
||
<center>
|
||
<table border=2>
|
||
<?php
|
||
/**
|
||
* Задаём информация для соединения. host_ip - это IP адрес,
|
||
* на котором запущен брокер CUBRID (например, localhost).
|
||
* host_port - соответственно его порт.
|
||
* Порт задаётся по умолчанию при установке.
|
||
* Подробности можно узнать в "Administrator's Guide."
|
||
*/
|
||
$host_ip = "localhost";
|
||
$host_port = 33000;
|
||
$db_name = "demodb";
|
||
/**
|
||
* Соединяемся с сервером CUBRID. Не производим фактического соединения, а
|
||
* только получаем информацию о нем. Причина, по которой мы не делаем
|
||
* фактического соединения в том, чтобы транзакции обрабатывались более
|
||
* эффективно в трёхзвенной архитектуре.
|
||
*/
|
||
$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) {
|
||
/**
|
||
* Получаем имена столбцов из результирующего набора.
|
||
*/
|
||
$columns = cubrid_column_names($result);
|
||
/**
|
||
* Получаем количество столбцов в результирующем наборе.
|
||
*/
|
||
$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>";
|
||
}
|
||
}
|
||
/**
|
||
* Модуль PHP в CUBRID работает в трёхуровневой архитектуре. Даже когда
|
||
* вызывается SELECT для обработки транзакций, он обрабатывается как часть
|
||
* транзакции. action. Следовательно, транзакцию надо либо подтвердить, либо
|
||
* откатить, даже когда вызывается SELECT.
|
||
*/
|
||
cubrid_commit($cubrid_con);
|
||
cubrid_disconnect($cubrid_con);
|
||
?>
|
||
</body>
|
||
</html>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
<example>
|
||
<title>Пример вставки данных</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<html>
|
||
<head>
|
||
<meta http-equiv="content-type" content="text/html; charset=euc- kr">
|
||
</head>
|
||
<body>
|
||
<center>
|
||
<table border=2>
|
||
<?php
|
||
/**
|
||
* host_ip - IP адрес сервера, где установлен брокер CUBRID
|
||
* host_port - порт, на котором он слушает
|
||
* 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 "Inserted successfully";
|
||
} else {
|
||
/**
|
||
* Произошла ошибка, значит выводим её на экран и откатываемся.
|
||
*/
|
||
echo cubrid_error_msg();
|
||
cubrid_rollback($cubrid_con);
|
||
}
|
||
cubrid_disconnect($cubrid_con);
|
||
?>
|
||
</body>
|
||
</html>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
|
||
|
||
</chapter>
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|