Обновление до английской версии

This commit is contained in:
Sergey Panteleev
2021-07-01 11:20:31 +03:00
parent 66ae6b5512
commit 13bfab8b52
2 changed files with 51 additions and 84 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e559d0d44dd75e43d6c503f6e81184301c17c58d Maintainer: shein Status: ready -->
<!-- EN-Revision: f2af34e50ce0770eee94a352d2b8de8e36a3cec2 Maintainer: shein Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="function.sort" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">

View File

@ -1,39 +1,37 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 4754397753fd79f1c846868b66a2448babab1c54 Maintainer: tmn Status: ready -->
<!-- EN-Revision: 7e5d0d1bb69180c9de1992edf9613215c975fa57 Maintainer: tmn Status: ready -->
<!-- Reviewed: yes Maintainer: lex -->
<!-- $Revision$ -->
<refentry xml:id="mysqli.prepare" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysqli::prepare</refname>
<refname>mysqli_prepare</refname>
<refpurpose>
Подготавливает SQL выражение к выполнению
</refpurpose>
<refpurpose>Подготавливает SQL выражение к выполнению</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<methodsynopsis role="oop">
<modifier>public</modifier> <type>mysqli_stmt</type><methodname>mysqli::prepare</methodname>
<modifier>public</modifier> <type class="union"><type>mysqli_stmt</type><type>false</type></type><methodname>mysqli::prepare</methodname>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<para>&style.procedural;</para>
<methodsynopsis>
<type>mysqli_stmt</type><methodname>mysqli_prepare</methodname>
<methodparam><type>mysqli</type><parameter>link</parameter></methodparam>
<methodsynopsis role="procedural">
<type class="union"><type>mysqli_stmt</type><type>false</type></type><methodname>mysqli_prepare</methodname>
<methodparam><type>mysqli</type><parameter>mysql</parameter></methodparam>
<methodparam><type>string</type><parameter>query</parameter></methodparam>
</methodsynopsis>
<para>
Подготавливает SQL-запрос и возвращает указатель на это выражение, который
может использоваться для дальнейших операций с этим выражением. Запрос должен
состоять из одного SQL выражения.
состоять из одного SQL-выражения.
</para>
<para>
Метки параметров должны быть связаны с переменными приложения функциями
<function>mysqli_stmt_bind_param</function> и/или
<function>mysqli_stmt_bind_result</function> до запуска запроса или выборки
строк.
Шаблон оператора может содержать ноль или несколько вопросительных знаков
(<literal>?</literal>), меток параметров⁠, также называемых заполнителями.
Метки параметров должны быть привязаны к переменным приложения с помощью <function>mysqli_stmt_bind_param</function>
перед выполнением выражения.
</para>
</refsect1>
@ -46,37 +44,28 @@
<term><parameter>query</parameter></term>
<listitem>
<para>
Текст запроса в виде строки.
Текст запроса в виде строки. Должен состоять из одного SQL-выражения.
</para>
<note>
<para>
Нет необходимости в завершающей точке с запятой или символе
<literal>\g</literal> в конце выражения.
</para>
</note>
<para>
Этот параметр может содержать одну или несколько меток параметров
SQL-запроса. Эти метки можно добавить путём встраивания знаков вопроса
(<literal>?</literal>) в места выражения, где требуется подставлять
параметры.
Выражение SQL может содержать ноль или более меток параметров,
представленных знаками вопроса (<literal>?</literal>)
в соответствующих позициях.
</para>
<!-- Copied from https://dev.mysql.com/doc/c-api/8.0/en/mysql-stmt-prepare.html -->
<note>
<para>
Эти метки можно встраивать только в определённые места в выражении.
Например, они допустимы в списке <literal>VALUES()</literal> выражения
Например, они разрешены в списке <literal>VALUES()</literal> выражения
<literal>INSERT</literal> (чтобы задать значения столбцов для строки),
или в операциях сравнения предложения
<literal>WHERE</literal> для задания сравниваемого значения.
</para>
<para>
Тем не менее, эти метки недопустимы в качестве идентификаторов (таких как
имена столбцов или таблиц), а также в списке псевдонимов столбцов
предложения <literal>SELECT</literal>. Нельзя также использовать параметры
для задания обоих операндов бинарного оператора (например, знак
равенства <literal>=</literal>). Последнее ограничение необходимо, так как
в противном случае невозможно будет определить тип операндов. Ещё недопустимо
сравнивать метку параметра с <literal>NULL</literal> выражением
<literal>? IS NULL</literal>. В основном, параметры допустимы в выражениях
Однако они не разрешены в качестве идентификаторов (таких как имена таблиц или столбцов)
или для указания обоих операндов бинарного оператора,
такого как знак равенства <literal>=</literal>.
Последнее ограничение необходимо, поскольку невозможно определить тип параметра.
В основном, параметры допустимы в выражениях
языка манипулирования данными (DML), и недопустимы в выражениях языка
определения данных (DDL).
</para>
@ -103,86 +92,63 @@
<programlisting role="php">
<![CDATA[
<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
$city = "Amersfoort";
/* создаём подготавливаемый запрос */
if ($stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?")) {
/* создание подготавливаемого запроса */
$stmt = $mysqli->prepare("SELECT District FROM City WHERE Name=?");
/* связываем параметры с метками */
$stmt->bind_param("s", $city);
/* связывание параметров с метками */
$stmt->bind_param("s", $city);
/* запускаем запрос */
$stmt->execute();
/* выполнение запроса */
$stmt->execute();
/* связываем переменные с результатами запроса */
$stmt->bind_result($district);
/* связывание переменных с результатами запроса */
$stmt->bind_result($district);
/* получаем значения */
$stmt->fetch();
/* получение значения */
$stmt->fetch();
printf("%s находится в округе %s\n", $city, $district);
/* закрываем запрос */
$stmt->close();
}
/* закрываем соединение */
$mysqli->close();
?>
printf("%s находится в округе %s\n", $city, $district);
]]>
</programlisting>
<para>&style.procedural;</para>
<programlisting role="php">
<![CDATA[
<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* проверка соединения */
if (mysqli_connect_errno()) {
printf("Не удалось подключиться: %s\n", mysqli_connect_error());
exit();
}
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
$city = "Amersfoort";
/* создаём подготавливаемый запрос */
if ($stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?")) {
/* создание подготавливаемого запроса */
$stmt = mysqli_prepare($link, "SELECT District FROM City WHERE Name=?");
/* связываем параметры с метками */
mysqli_stmt_bind_param($stmt, "s", $city);
/* связывание параметров с метками */
mysqli_stmt_bind_param($stmt, "s", $city);
/* запускаем запрос */
mysqli_stmt_execute($stmt);
/* выполнение запроса */
mysqli_stmt_execute($stmt);
/* связываем переменные с результатами запроса */
mysqli_stmt_bind_result($stmt, $district);
/* связывание переменных с результатами запроса */
mysqli_stmt_bind_result($stmt, $district);
/* получаем значения */
mysqli_stmt_fetch($stmt);
/* получение значения */
mysqli_stmt_fetch($stmt);
printf("%s находится в округе %s\n", $city, $district);
/* закрываем запрос */
mysqli_stmt_close($stmt);
}
/* закрываем соединение */
mysqli_close($link);
printf("%s находится в округе %s\n", $city, $district);
?>
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
Amersfoort is in district Utrecht
Amersfoort находится в округе Utrecht
]]>
</screen>
</example>
@ -196,6 +162,7 @@ Amersfoort is in district Utrecht
<member><function>mysqli_stmt_fetch</function></member>
<member><function>mysqli_stmt_bind_param</function></member>
<member><function>mysqli_stmt_bind_result</function></member>
<member><function>mysqli_stmt_get_result</function></member>
<member><function>mysqli_stmt_close</function></member>
</simplelist>
</para>