<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Enables or disables internal report functions</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mysqli-driver.embedded-server-start.html">mysqli_driver::embedded_server_start</a></div> <div class="next" style="text-align: right; float: right;"><a href="class.mysqli-warning.html">mysqli_warning</a></div> <div class="up"><a href="class.mysqli-driver.html">mysqli_driver</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="mysqli-driver.report-mode" class="refentry"> <div class="refnamediv"> <h1 class="refname">mysqli_driver::$report_mode</h1> <h1 class="refname">mysqli_report</h1> <p class="verinfo">(PHP 5)</p><p class="refpurpose"><span class="refname">mysqli_driver::$report_mode</span> -- <span class="refname">mysqli_report</span> — <span class="dc-title">Enables or disables internal report functions</span></p> </div> <div class="refsect1 description" id="refsect1-mysqli-driver.report-mode-description"> <h3 class="title">Description</h3> <p class="para">Object oriented style</p> <div class="fieldsynopsis"> <span class="type">int</span> <var class="varname"><a href="mysqli-driver.report-mode.html">$mysqli_driver->report_mode</a></var> ;</div> <p class="para">Procedural style</p> <div class="methodsynopsis dc-description"> <span class="type">bool</span> <span class="methodname"><a href="function.mysqli-report.html" class="methodname">mysqli_report</a></span> ( <span class="methodparam"><span class="type">int</span> <code class="parameter">$flags</code></span> )</div> <p class="para rdfs-comment"> 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). </p> </div> <div class="refsect1 parameters" id="refsect1-mysqli-driver.report-mode-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">flags</code></em></span> <dd> <p class="para"> <table class="doctable table"> <caption><strong>Supported flags</strong></caption> <thead> <tr> <th>Name</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td><strong><code>MYSQLI_REPORT_OFF</code></strong></td> <td>Turns reporting off</td> </tr> <tr> <td><strong><code>MYSQLI_REPORT_ERROR</code></strong></td> <td>Report errors from mysqli function calls</td> </tr> <tr> <td><strong><code>MYSQLI_REPORT_STRICT</code></strong></td> <td> Throw <a href="class.mysqli-sql-exception.html" class="classname">mysqli_sql_exception</a> for errors instead of warnings </td> </tr> <tr> <td><strong><code>MYSQLI_REPORT_INDEX</code></strong></td> <td>Report if no index or bad index was used in a query</td> </tr> <tr> <td><strong><code>MYSQLI_REPORT_ALL</code></strong></td> <td>Set all options (report all)</td> </tr> </tbody> </table> </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-mysqli-driver.report-mode-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> on success or <strong><code>FALSE</code></strong> on failure. </p> </div> <div class="refsect1 changelog" id="refsect1-mysqli-driver.report-mode-changelog"> <h3 class="title">Changelog</h3> <p class="para"> <table class="doctable informaltable"> <thead> <tr> <th>Version</th> <th>Description</th> </tr> </thead> <tbody class="tbody"> <tr> <td>5.3.4</td> <td> Changing the reporting mode is now be per-request, rather than per-process. </td> </tr> <tr> <td>5.2.15</td> <td> Changing the reporting mode is now be per-request, rather than per-process. </td> </tr> </tbody> </table> </p> </div> <div class="refsect1 examples" id="refsect1-mysqli-driver.report-mode-examples"> <h3 class="title">Examples</h3> <div class="example" id="example-1750"> <p><strong>Example #1 Object oriented style</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br />$mysqli </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* check connection */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_connect_errno</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Connect failed: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_connect_error</span><span style="color: #007700">());<br /> exit();<br />}<br /><br /></span><span style="color: #FF8000">/* activate reporting */<br /></span><span style="color: #0000BB">$driver </span><span style="color: #007700">= new </span><span style="color: #0000BB">mysqli_driver</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">$driver</span><span style="color: #007700">-></span><span style="color: #0000BB">report_mode </span><span style="color: #007700">= </span><span style="color: #0000BB">MYSQLI_REPORT_ALL</span><span style="color: #007700">;<br /><br />try {<br /><br /> </span><span style="color: #FF8000">/* this query should report an error */<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT Name FROM Nonexistingtable WHERE population > 50000"</span><span style="color: #007700">);<br /><br /> </span><span style="color: #FF8000">/* this query should report a bad index */<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT Name FROM City WHERE population > 50000"</span><span style="color: #007700">);<br /><br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">-></span><span style="color: #0000BB">close</span><span style="color: #007700">();<br /><br /> </span><span style="color: #0000BB">$mysqli</span><span style="color: #007700">-></span><span style="color: #0000BB">close</span><span style="color: #007700">();<br /><br />} catch (</span><span style="color: #0000BB">mysqli_sql_exception $e</span><span style="color: #007700">) {<br /><br /> echo </span><span style="color: #0000BB">$e</span><span style="color: #007700">-></span><span style="color: #0000BB">__toString</span><span style="color: #007700">();<br />}<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> <div class="example" id="example-1751"> <p><strong>Example #2 Procedural style</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /></span><span style="color: #FF8000">/* activate reporting */<br /></span><span style="color: #0000BB">mysqli_report</span><span style="color: #007700">(</span><span style="color: #0000BB">MYSQLI_REPORT_ALL</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">$link </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">"localhost"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_user"</span><span style="color: #007700">, </span><span style="color: #DD0000">"my_password"</span><span style="color: #007700">, </span><span style="color: #DD0000">"world"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* check connection */<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">mysqli_connect_errno</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Connect failed: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">mysqli_connect_error</span><span style="color: #007700">());<br /> exit();<br />}<br /><br /></span><span style="color: #FF8000">/* this query should report an error */<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT Name FROM Nonexistingtable WHERE population > 50000"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* this query should report a bad index */<br /></span><span style="color: #0000BB">$result </span><span style="color: #007700">= </span><span style="color: #0000BB">mysqli_query</span><span style="color: #007700">(</span><span style="color: #DD0000">"SELECT Name FROM City WHERE population > 50000"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysqli_free_result</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">mysqli_close</span><span style="color: #007700">(</span><span style="color: #0000BB">$link</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </div> <div class="refsect1 seealso" id="refsect1-mysqli-driver.report-mode-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="mysqli.debug.html" class="function" rel="rdfs-seeAlso">mysqli_debug()</a> - Performs debugging operations</span></li> <li class="member"> <span class="function"><a href="mysqli.dump-debug-info.html" class="function" rel="rdfs-seeAlso">mysqli_dump_debug_info()</a> - Dump debugging information into the log</span></li> <li class="member"><a href="class.mysqli-sql-exception.html" class="classname">mysqli_sql_exception</a></li> <li class="member"> <span class="function"><a href="function.set-exception-handler.html" class="function" rel="rdfs-seeAlso">set_exception_handler()</a> - Sets a user-defined exception handler function</span></li> <li class="member"> <span class="function"><a href="function.error-reporting.html" class="function" rel="rdfs-seeAlso">error_reporting()</a> - Sets which PHP errors are reported</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="mysqli-driver.embedded-server-start.html">mysqli_driver::embedded_server_start</a></div> <div class="next" style="text-align: right; float: right;"><a href="class.mysqli-warning.html">mysqli_warning</a></div> <div class="up"><a href="class.mysqli-driver.html">mysqli_driver</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>