Moved mysqli_report() / $report_mode docs under mysqli_driver/.

This closes PHP Bug #55329
This change includes updates, mainly to the example / see also sections.


git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@329175 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Philip Olson 2013-01-17 07:59:25 +00:00
parent bce688de97
commit 5c6f1c511a
2 changed files with 223 additions and 135 deletions

View file

@ -3,149 +3,16 @@
<refentry xml:id="function.mysqli-report" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysqli_report</refname>
<refpurpose>Enables or disables internal report functions</refpurpose>
<refpurpose>&Alias; of <link linkend="mysqli-driver.report-mode">mysqli_driver->report_mode</link></refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>mysqli_report</methodname>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<para>
<function>mysqli_report</function> is a powerful function to improve your queries
and code during development and testing phase. Depending on the flags it reports
errors from mysqli function calls or queries which don't use an index (or use a bad
index).
&info.function.alias; <link linkend="mysqli-driver.report-mode">mysqli_driver->report_mode</link>
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
<table>
<title>Supported flags</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>MYSQLI_REPORT_OFF</constant></entry>
<entry>Turns reporting off</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_ERROR</constant></entry>
<entry>Report errors from mysqli function calls</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_STRICT</constant></entry>
<entry>
Throw <classname>mysqli_sql_exception</classname> for errors
instead of warnings
</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_INDEX</constant></entry>
<entry>Report if no index or bad index was used in a query</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_ALL</constant></entry>
<entry>Set all options (report all)</entry>
</row>
</tbody>
</tgroup>
</table>
</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>5.2.15 &amp; 5.3.4</entry>
<entry>
Changing the reporting mode is now be per-request, rather than per-process.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>&style.oop;</title>
<programlisting role="php">
<![CDATA[
<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* this query should report a bad index */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();
$mysqli->close();
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="mysqli-driver.props.report-mode">mysqli_driver::$report_mode</link></member>
<member><function>mysqli_debug</function></member>
<member><function>mysqli_dump_debug_info</function></member>
</simplelist>
</para>
</refsect1>
</refentry>

View file

@ -0,0 +1,221 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<refentry xml:id="mysqli-driver.report-mode" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mysqli_driver::$report_mode</refname>
<refname>mysqli_report</refname>
<refpurpose>Enables or disables internal report functions</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<para>&style.oop;</para>
<fieldsynopsis>
<type>int</type><varname linkend="mysqli-driver.report-mode">mysqli_driver->report_mode</varname>
</fieldsynopsis>
<para>&style.procedural;</para>
<methodsynopsis>
<type>bool</type><methodname>mysqli_report</methodname>
<methodparam><type>int</type><parameter>flags</parameter></methodparam>
</methodsynopsis>
<para>
A function helpful in improving queries during code development and testing.
Depending on the flags, it reports errors from mysqli function calls or
queries that don't use an index (or use a bad index).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
<table>
<title>Supported flags</title>
<tgroup cols="2">
<thead>
<row>
<entry>Name</entry>
<entry>Description</entry>
</row>
</thead>
<tbody>
<row>
<entry><constant>MYSQLI_REPORT_OFF</constant></entry>
<entry>Turns reporting off</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_ERROR</constant></entry>
<entry>Report errors from mysqli function calls</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_STRICT</constant></entry>
<entry>
Throw <classname>mysqli_sql_exception</classname> for errors
instead of warnings
</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_INDEX</constant></entry>
<entry>Report if no index or bad index was used in a query</entry>
</row>
<row>
<entry><constant>MYSQLI_REPORT_ALL</constant></entry>
<entry>Set all options (report all)</entry>
</row>
</tbody>
</tgroup>
</table>
</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>5.3.4</entry>
<entry>
Changing the reporting mode is now be per-request, rather than per-process.
</entry>
</row>
<row>
<entry>5.2.15</entry>
<entry>
Changing the reporting mode is now be per-request, rather than per-process.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</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");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* activate reporting */
$driver = new mysqli_driver();
$driver->report_mode = MYSQLI_REPORT_ALL;
try {
/* this query should report an error */
$result = $mysqli->query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* this query should report a bad index */
$result = $mysqli->query("SELECT Name FROM City WHERE population > 50000");
$result->close();
$mysqli->close();
} catch (mysqli_sql_exception $e) {
echo $e->__toString();
}
?>
]]>
</programlisting>
</example>
<example>
<title>&style.procedural;</title>
<programlisting role="php">
<![CDATA[
<?php
/* activate reporting */
mysqli_report(MYSQLI_REPORT_ALL);
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
/* this query should report an error */
$result = mysqli_query("SELECT Name FROM Nonexistingtable WHERE population > 50000");
/* this query should report a bad index */
$result = mysqli_query("SELECT Name FROM City WHERE population > 50000");
mysqli_free_result($result);
mysqli_close($link);
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>mysqli_debug</function></member>
<member><function>mysqli_dump_debug_info</function></member>
<member><classname>mysqli_sql_exception</classname></member>
<member><function>set_exception_handler</function></member>
<member><function>error_reporting</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
-->