Files
php-doc-ru/reference/mysqli/mysqli_stmt/sqlstate.xml
Sergey Panteleev 6d43fd64d7 Исправление форматирования
[skip-spellcheck]
[skip-lint]
2022-12-27 03:42:36 +03:00

180 lines
5.5 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: d68e83b719028bb068785cccc3205c23be530564 Maintainer: tmn Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="mysqli-stmt.sqlstate" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>mysqli_stmt::$sqlstate</refname>
<refname>mysqli_stmt_sqlstate</refname>
<refpurpose>
Возвращает код ошибки SQLSTATE, вызванной в ходе выполнения последней операции
над запросом
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<fieldsynopsis><type>string</type><varname linkend="mysqli-stmt.sqlstate">mysqli_stmt-&gt;sqlstate</varname></fieldsynopsis>
<para>&style.procedural;</para>
<methodsynopsis>
<type>string</type><methodname>mysqli_stmt_sqlstate</methodname>
<methodparam><type>mysqli_stmt</type><parameter>statement</parameter></methodparam>
</methodsynopsis>
<para>
Возвращает строку содержащую код SQLSTATE ошибки, вызванной в результате
выполнения последней операции над запросом, которая может завершаться успешно
или неуспешно. Этот код состоит из пяти символов. <literal>'00000'</literal>
означает отсутствие ошибок. Значения этого кода определены в стандарте ANSI
SQL, а также в ODBC. Полный список возможных кодов можно посмотреть на странице
<link xlink:href="&url.mysql.docs.error;">&url.mysql.docs.error;</link>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
&mysqli.stmt.description;
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает строку, содержащую код ошибки SQLSTATE последней совершенной операции.
Этот код состоит из пяти символов. <literal>'00000'</literal> означает
отсутствие ошибок.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>&style.oop;</title>
<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->query("CREATE TABLE myCountry LIKE Country");
$mysqli->query("INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = $mysqli->prepare($query)) {
/* удаляем таблицу */
$mysqli->query("DROP TABLE myCountry");
/* выполняем запрос */
$stmt->execute();
printf("Ошибка: %s.\n", $stmt->sqlstate);
/* закрываем запрос */
$stmt->close();
}
/* закрываем соединение */
$mysqli->close();
?>
]]>
</programlisting>
</example>
<example>
<title>&style.procedural;</title>
<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_query($link, "CREATE TABLE myCountry LIKE Country");
mysqli_query($link, "INSERT INTO myCountry SELECT * FROM Country");
$query = "SELECT Name, Code FROM myCountry ORDER BY Name";
if ($stmt = mysqli_prepare($link, $query)) {
/* удаляем таблицу */
mysqli_query($link, "DROP TABLE myCountry");
/* выполняем запрос */
mysqli_stmt_execute($stmt);
printf("Ошибка: %s.\n", mysqli_stmt_sqlstate($stmt));
/* закрываем запрос */
mysqli_stmt_close($stmt);
}
/* закрываем соединение */
mysqli_close($link);
?>
]]>
</programlisting>
&examples.outputs;
<screen>
<![CDATA[
Ошибка: 42S02.
]]>
</screen>
</example>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Следует отметить, что ещё не все ошибки MySQL имеют отражение в кодах SQLSTATE.
Для таких ошибок используется общий код <literal>HY000</literal> (общая ошибка).
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysqli_stmt_errno</function></member>
<member><function>mysqli_stmt_error</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
-->