1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-28 17:53:14 +02:00
Files
archived-doc-ru/reference/cubrid/functions/cubrid-bind.xml
T
Sergey Panteleev 300ffa98fb Исправление форматирования (#362)
[skip-spellcheck]
[skip-lint]
2021-10-21 09:47:52 +03:00

333 lines
9.9 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 648875cf73af01acdb6afaa5ca38b0bf6631bf42 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.cubrid-bind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>cubrid_bind</refname>
<refpurpose>Связывает переменные с подготовленным запросом</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>cubrid_bind</methodname>
<methodparam><type>resource</type><parameter>req_identifier</parameter></methodparam>
<methodparam><type>int</type><parameter>bind_index</parameter></methodparam>
<methodparam><type>mixed</type><parameter>bind_value</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>bind_value_type</parameter></methodparam>
</methodsynopsis>
<para>
Функция <function>cubrid_bind</function> используется для привязки значений к указанным
меткам, либо знакам вопроса, в SQL-запросе, заданном <function>cubrid_prepare</function>.
Если не задан параметр <parameter>bind_value_type</parameter>, то будет использоваться
строковый тип.
</para>
<note>
<para>
Если привязываемые данные имеют тип BLOB/CLOB, CUBRID попытается использовать их
как потоки PHP. Если фактическое привязываемое значение не является потоком, то
CUBRID конвертирует его в строку и будет считать полным путём к файлу, где эти
данные лежат.
</para>
<para>
Если тип данных, которые будут связаны явно является ENUM, то параметр <parameter>bind_value</parameter>
должен быть элементом ENUM заданным в виде строки.
</para>
<para>
В окружении сегмента CUBRID, <parameter>bind_value_type</parameter> должен быть включён в функцию
<function>cubrid_bind</function>.
</para>
</note>
<para>
В следующей таблице приведены типы замещающих значений.
</para>
<para>
<table>
<title>Привязка типов в CUBRID</title>
<tgroup cols="3">
<thead>
<row>
<entry>Уровень поддержки</entry>
<entry>Тип привязки</entry>
<entry>Соответствующий SQL-тип</entry>
</row>
</thead>
<tbody>
<row>
<entry>Поддерживается</entry>
<entry>STRING</entry>
<entry>CHAR, VARCHAR</entry>
</row>
<row>
<entry></entry>
<entry>NCHAR</entry>
<entry>NCHAR, NVARCHAR</entry>
</row>
<row>
<entry></entry>
<entry>BIT</entry>
<entry>BIT, VARBIT</entry>
</row>
<row>
<entry></entry>
<entry>NUMERIC or NUMBER</entry>
<entry>SHORT, INT, NUMERIC</entry>
</row>
<row>
<entry></entry>
<entry>FLOAT</entry>
<entry>FLOAT</entry>
</row>
<row>
<entry></entry>
<entry>DOUBLE</entry>
<entry>DOUBLE</entry>
</row>
<row>
<entry></entry>
<entry>TIME</entry>
<entry>TIME</entry>
</row>
<row>
<entry></entry>
<entry>DATE</entry>
<entry>DATE</entry>
</row>
<row>
<entry></entry>
<entry>TIMESTAMP</entry>
<entry>TIMESTAMP</entry>
</row>
<row>
<entry></entry>
<entry>OBJECT</entry>
<entry>OBJECT</entry>
</row>
<row>
<entry></entry>
<entry>ENUM</entry>
<entry>ENUM</entry>
</row>
<row>
<entry></entry>
<entry>BLOB</entry>
<entry>BLOB</entry>
</row>
<row>
<entry></entry>
<entry>CLOB</entry>
<entry>CLOB</entry>
</row>
<row>
<entry></entry>
<entry>NULL</entry>
<entry>NULL</entry>
</row>
<row>
<entry>Не поддерживается</entry>
<entry>SET</entry>
<entry>SET</entry>
</row>
<row>
<entry></entry>
<entry>MULTISET</entry>
<entry>MULTISET</entry>
</row>
<row>
<entry></entry>
<entry>SEQUENCE</entry>
<entry>SEQUENCE</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>req_identifier</parameter></term>
<listitem><para>Идентификатор запроса, полученный из
<function>cubrid_prepare</function>.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>bind_index</parameter></term>
<listitem><para>Расположение связываемых параметров. Начинаются с 1.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>bind_value</parameter></term>
<listitem><para>Фактическое значения для привязки.</para></listitem>
</varlistentry>
<varlistentry>
<term><parameter>bind_value_type</parameter></term>
<listitem><para>Тип связываемого значения. (По умолчанию не задано.
Таким образом, по умолчанию используется тип STRING. Однако, вы должны явно указать
тип для значений NCHAR, BIT, или BLOB/CLOB).</para></listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.3.1</entry>
<entry>
Добавлена поддержка типов данных BLOB/CLOB.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример использования <function>cubrid_bind</function></title>
<programlisting role="php">
<![CDATA[
<?php
$conn = cubrid_connect("localhost", 33000, "demodb", "dba");
$result = cubrid_execute($conn, "SELECT code FROM event WHERE sports='Basketball' and gender='M'");
$row = cubrid_fetch_array($result, CUBRID_ASSOC);
$event_code = $row["code"];
cubrid_close_request($result);
$game_req = cubrid_prepare($conn, "SELECT athlete_code FROM game WHERE host_year=1992 and event_code=? and nation_code='USA'");
cubrid_bind($game_req, 1, $event_code, "number");
cubrid_execute($game_req);
printf("--- Dream Team (1992 United States men's Olympic basketball team) ---\n");
while ($athlete_code = cubrid_fetch_array($game_req, CUBRID_NUM)) {
$athlete_req = cubrid_prepare($conn, "SELECT name FROM athlete WHERE code=? AND nation_code='USA' AND event='Basketball' AND gender='M'");
cubrid_bind($athlete_req, 1, $athlete_code[0], "number");
cubrid_execute($athlete_req);
$row = cubrid_fetch_assoc($athlete_req);
printf("%s\n", $row["name"]);
}
cubrid_close_request($game_req);
cubrid_close_request($athlete_req);
cubrid_disconnect($conn);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
--- Dream Team (1992 United States men's Olympic basketball team) ---
Stockton John
Robinson David
Pippen Scottie
Mullin C.
Malone Karl
Laettner C.
Jordan Michael
Johnson Earvin
Ewing Patrick
Drexler Clyde
Bird Larry
Barkley Charles
]]>
</screen>
</example>
<example>
<title>Пример использования <function>cubrid_bind</function> с BLOB/CLOB</title>
<programlisting role="php">
<![CDATA[
<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (doc_content CLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(doc_content) VALUES(?)";
$req = cubrid_prepare($con, $sql);
$fp = fopen("book.txt", "rb");
cubrid_bind($req, 1, $fp, "clob");
cubrid_execute($req);
}
?>
]]>
</programlisting>
</example>
<example>
<title>Пример использования <function>cubrid_bind</function> с BLOB/CLOB</title>
<programlisting role="php">
<![CDATA[
<?php
$con = cubrid_connect("localhost", 33000, "demodb", "dba", "");
if ($con) {
cubrid_execute($con,"DROP TABLE if exists php_cubrid_lob_test");
cubrid_execute($con,"CREATE TABLE php_cubrid_lob_test (image BLOB)");
$sql = "INSERT INTO php_cubrid_lob_test(image) VALUES(?)";
$req = cubrid_prepare($con, $sql);
cubrid_bind($req, 1, "cubrid_logo.png", "blob");
cubrid_execute($req);
}
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>cubrid_execute</function></member>
<member><function>cubrid_prepare</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->