1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-27 01:08:05 +02:00
Files
archived-doc-ru/reference/cubrid/examples.xml
T
2023-01-25 23:35:57 +03:00

180 lines
6.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 7c9f1adb4b7d55a7a37b0503ec895412a6ecc656 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<chapter xml:id="cubrid.examples" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.examples;
<para>Простой пример, в котором устанавливается соединение с CUBRID. В этом разделе
рассказывается о самых базовых вещах и особенностях, на которые следует обратить
внимание. Следующий код будет осуществлять соединение с CUBRID, что подразумевает, что
сервер и брокер CUBRID запущены.</para>
<para>Пример ниже использует базу данных demodb, которая создаётся по умолчанию при
установке. Убедитесь, что она создана.</para>
<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
-->