php-doc-en/reference/mysqli/functions/mysqli-report.xml

171 lines
4.3 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<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>
</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).
</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>
<!-- 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
-->