mirror of
https://github.com/codeigniter4/CodeIgniter4.git
synced 2025-02-20 11:44:28 +08:00
Update User Guide
This commit is contained in:
parent
61e1241547
commit
2b79adccae
@ -390,7 +390,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -604,7 +604,7 @@ security, text, url</p></li>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -755,7 +755,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -626,7 +626,7 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><p>bootstrao #1547</p></li>
|
||||
<li><p>bootstrap #1547</p></li>
|
||||
<li><p>CodeIgniter #1465, #1505, #1523, 2047b5a, #1547</p></li>
|
||||
<li><p>Common #1486, #1496, #1504, #1513</p></li>
|
||||
<li><p>ComposerScripts #1469, #1547</p></li>
|
||||
@ -1040,7 +1040,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -803,7 +803,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -385,7 +385,8 @@
|
||||
<dt>Config/</dt><dd><ul>
|
||||
<li><p>Filters #1686</p></li>
|
||||
<li><p>Modules #1665</p></li>
|
||||
<li><p>Services #614216</p></li>
|
||||
<li><dl class="simple">
|
||||
<dt>Services #614216</dt><dd><ul>
|
||||
<li><p>Toolbar</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
@ -395,6 +396,10 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>contributing/</dt><dd><ul class="simple">
|
||||
<li><p>guidelines.rst #1671, #1673</p></li>
|
||||
@ -863,7 +868,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -729,7 +729,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -869,7 +869,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -736,7 +736,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -483,7 +483,13 @@
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>Filters/</dt><dd><ul>
|
||||
<li><p>Filters #2039 - helpers/</p></li>
|
||||
<li><p>Filters #2039</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>helpers/</dt><dd><ul>
|
||||
<li><p>date_helper #2091</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
@ -767,7 +773,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -847,7 +847,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -528,12 +528,18 @@
|
||||
<dt>Database/</dt><dd><ul>
|
||||
<li><dl class="simple">
|
||||
<dt>Builder/</dt><dd><ul>
|
||||
<li><p>GetTest #2232</p></li>
|
||||
<li><dl class="simple">
|
||||
<dt>GetTest #2232</dt><dd><ul>
|
||||
<li><p>CountTest #2269</p></li>
|
||||
<li><p>DeleteTest #2269</p></li>
|
||||
<li><p>EmptyTest #2269</p></li>
|
||||
<li><p>GetTest #2269</p></li>
|
||||
<li><p>GroupTest #2257</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>GroupTest #2257</dt><dd><ul>
|
||||
<li><p>InsertTest #2269</p></li>
|
||||
<li><p>ReplaceTest #2269</p></li>
|
||||
<li><p>TruncateTest #2269</p></li>
|
||||
@ -542,6 +548,10 @@
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
<li><dl class="simple">
|
||||
<dt>Live/</dt><dd><ul>
|
||||
<li><p>EscapeTest #2229</p></li>
|
||||
@ -789,7 +799,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -697,7 +697,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -456,7 +456,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -383,7 +383,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -388,7 +388,7 @@ representation of some of the bigger changes you should know about.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -419,7 +419,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -410,7 +410,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -470,7 +470,7 @@ allows you to prompt a user for information, making it easy to build flexible, s
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -603,7 +603,7 @@ be familiar with when creating your own commands. It also has a <a class="refere
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -874,7 +874,7 @@ e.g., <code class="docutils literal notranslate"><span class="pre">protected</sp
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -612,7 +612,7 @@ waiting for a key press.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -409,7 +409,7 @@ but adds some accessor methods for convenience.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -374,7 +374,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -451,7 +451,7 @@ the first one to get a chance to locate the file.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -535,7 +535,7 @@ that single call will return a new or shared instance:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -475,7 +475,7 @@ of the HTTP response. This gives you an easy and powerful way to construct your
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -376,7 +376,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -426,7 +426,7 @@ you need.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -581,7 +581,7 @@ inappropriately.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -540,7 +540,7 @@ would simply use the framework’s <code class="docutils literal notranslate"><s
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -444,7 +444,7 @@ settings inside <code class="docutils literal notranslate"><span class="pre">app
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -352,7 +352,7 @@
|
||||
<h2>$db->callFunction();<a class="headerlink" href="#db-callfunction" title="Permalink to this headline">¶</a></h2>
|
||||
<p>This function enables you to call PHP database functions that are not
|
||||
natively included in CodeIgniter, in a platform-independent manner. For
|
||||
example, let’s say you want to call the mysql_get_client_info()
|
||||
example, let’s say you want to call the <code class="docutils literal notranslate"><span class="pre">mysql_get_client_info()</span></code>
|
||||
function, which is <strong>not</strong> natively supported by CodeIgniter. You could
|
||||
do so like this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$db</span><span class="o">-></span><span class="na">callFunction</span><span class="p">(</span><span class="s1">'get_client_info'</span><span class="p">);</span>
|
||||
@ -399,7 +399,7 @@ database result ID. The connection ID can be accessed using:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -361,22 +361,22 @@ database connection values in the .env file. See below for more details.</p>
|
||||
<p>The config settings are stored in a class property that is an array with this
|
||||
prototype:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">public</span> <span class="nv">$default</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">'root'</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">'database_name'</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[],</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">'root'</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">'database_name'</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[],</span>
|
||||
<span class="p">];</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -424,39 +424,39 @@ fields, CodeIgniter will append them.</p>
|
||||
<p>You can also specify failovers for the situation when the main connection cannot connect for some reason.
|
||||
These failovers can be specified by setting the failover for a connection like this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$default</span><span class="p">[</span><span class="s1">'failover'</span><span class="p">]</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost1'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost2'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">];</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost1'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost2'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span>
|
||||
<span class="p">]</span>
|
||||
<span class="p">];</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can specify as many failovers as you like.</p>
|
||||
@ -466,22 +466,22 @@ production, test, etc.) under a single installation, you can set up a
|
||||
connection group for each, then switch between groups as needed. For
|
||||
example, to set up a “test” environment you would do this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">public</span> <span class="nv">$test</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">'root'</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">'database_name'</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[]</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">'root'</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">'database_name'</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="k">TRUE</span><span class="p">,</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">FALSE</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[]</span>
|
||||
<span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -505,10 +505,10 @@ within the class’ constructor:</p>
|
||||
<span class="k">public</span> <span class="nv">$test</span> <span class="o">=</span> <span class="p">[</span><span class="o">...</span><span class="p">];</span>
|
||||
<span class="k">public</span> <span class="nv">$production</span> <span class="o">=</span> <span class="p">[</span><span class="o">...</span><span class="p">];</span>
|
||||
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__construct</span><span class="p">()</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">defaultGroup</span> <span class="o">=</span> <span class="nx">ENVIRONMENT</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__construct</span><span class="p">()</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">defaultGroup</span> <span class="o">=</span> <span class="nx">ENVIRONMENT</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -529,8 +529,8 @@ default group’s configuration settings. The values should be name following th
|
||||
<h2><a class="toc-backref" href="#id2">Explanation of Values:</a><a class="headerlink" href="#explanation-of-values" title="Permalink to this headline">¶</a></h2>
|
||||
<table class="docutils align-default">
|
||||
<colgroup>
|
||||
<col style="width: 17%" />
|
||||
<col style="width: 83%" />
|
||||
<col style="width: 12%" />
|
||||
<col style="width: 88%" />
|
||||
</colgroup>
|
||||
<thead>
|
||||
<tr class="row-odd"><th class="head"><p>Name Config</p></th>
|
||||
@ -554,7 +554,7 @@ default group’s configuration settings. The values should be name following th
|
||||
<td><p>The name of the database you want to connect to.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><strong>DBDriver</strong></p></td>
|
||||
<td><p>The database type. eg: MySQLi, Postgre, etc. The case must match the driver name</p></td>
|
||||
<td><p>The database type. e.g.,: MySQLi, Postgre, etc. The case must match the driver name</p></td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><strong>DBPrefix</strong></p></td>
|
||||
<td><p>An optional table prefix which will added to the table name when running
|
||||
@ -588,11 +588,11 @@ customizable by the end user.</p></td>
|
||||
</tr>
|
||||
<tr class="row-odd"><td><p><strong>encrypt</strong></p></td>
|
||||
<td><p>Whether or not to use an encrypted connection.</p>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
<ul>
|
||||
<li><p>‘sqlsrv’ and ‘pdo/sqlsrv’ drivers accept TRUE/FALSE</p></li>
|
||||
<li><p>‘MySQLi’ and ‘pdo/mysql’ drivers accept an array with the following options:</p>
|
||||
<ul>
|
||||
<blockquote>
|
||||
<div><ul class="simple">
|
||||
<li><p>‘ssl_key’ - Path to the private key file</p></li>
|
||||
<li><p>‘ssl_cert’ - Path to the public key certificate file</p></li>
|
||||
<li><p>‘ssl_ca’ - Path to the certificate authority file</p></li>
|
||||
@ -600,9 +600,9 @@ customizable by the end user.</p></td>
|
||||
<li><p>‘ssl_cipher’ - List of <em>allowed</em> ciphers to be used for the encryption, separated by colons (‘:’)</p></li>
|
||||
<li><p>‘ssl_verify’ - TRUE/FALSE; Whether to verify the server certificate or not (‘MySQLi’ only)</p></li>
|
||||
</ul>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
</ul>
|
||||
</div></blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="row-even"><td><p><strong>compress</strong></p></td>
|
||||
@ -648,7 +648,7 @@ you are using MySQL.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -365,7 +365,7 @@ and is provided for your convenience:</p>
|
||||
<div class="section" id="available-parameters">
|
||||
<h2>Available Parameters<a class="headerlink" href="#available-parameters" title="Permalink to this headline">¶</a></h2>
|
||||
<ol class="arabic simple">
|
||||
<li><p>The database group name, a string that must match the config class’ property name. Default value is $config->defaultGroup.</p></li>
|
||||
<li><p>The database group name, a string that must match the config class’ property name. Default value is <code class="docutils literal notranslate"><span class="pre">$config->defaultGroup</span></code>.</p></li>
|
||||
<li><p>TRUE/FALSE (boolean). Whether to return the shared connection (see
|
||||
Connecting to Multiple Databases below).</p></li>
|
||||
</ol>
|
||||
@ -403,10 +403,8 @@ group names you are connecting to.</p>
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>You don’t need to create separate database configurations if you
|
||||
only need to use a different database on the same connection. You
|
||||
can switch to a different database when you need to, like this:</p>
|
||||
<div class="line-block">
|
||||
<div class="line">$db->setDatabase($database2_name);</div>
|
||||
</div>
|
||||
can switch to a different database when you need to, like this:
|
||||
<code class="docutils literal notranslate"><span class="pre">$db->setDatabase($database2_name);</span></code></p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="connecting-with-custom-settings">
|
||||
@ -415,24 +413,24 @@ can switch to a different database when you need to, like this:</p>
|
||||
a connection that uses your custom settings. The array passed in must be
|
||||
the same format as the groups are defined in the configuration file:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$custom</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="p">(</span><span class="nx">ENVIRONMENT</span> <span class="o">!==</span> <span class="s1">'production'</span><span class="p">),</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[],</span>
|
||||
<span class="s1">'port'</span> <span class="o">=></span> <span class="mi">3306</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
<span class="s1">'DSN'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'hostname'</span> <span class="o">=></span> <span class="s1">'localhost'</span><span class="p">,</span>
|
||||
<span class="s1">'username'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'password'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'database'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'DBDriver'</span> <span class="o">=></span> <span class="s1">'MySQLi'</span><span class="p">,</span>
|
||||
<span class="s1">'DBPrefix'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'pConnect'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'DBDebug'</span> <span class="o">=></span> <span class="p">(</span><span class="nx">ENVIRONMENT</span> <span class="o">!==</span> <span class="s1">'production'</span><span class="p">),</span>
|
||||
<span class="s1">'charset'</span> <span class="o">=></span> <span class="s1">'utf8'</span><span class="p">,</span>
|
||||
<span class="s1">'DBCollat'</span> <span class="o">=></span> <span class="s1">'utf8_general_ci'</span><span class="p">,</span>
|
||||
<span class="s1">'swapPre'</span> <span class="o">=></span> <span class="s1">''</span><span class="p">,</span>
|
||||
<span class="s1">'encrypt'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'compress'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'strictOn'</span> <span class="o">=></span> <span class="k">false</span><span class="p">,</span>
|
||||
<span class="s1">'failover'</span> <span class="o">=></span> <span class="p">[],</span>
|
||||
<span class="s1">'port'</span> <span class="o">=></span> <span class="mi">3306</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
<span class="nv">$db</span> <span class="o">=</span> <span class="nx">\Config\Database</span><span class="o">::</span><span class="na">connect</span><span class="p">(</span><span class="nv">$custom</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -441,12 +439,12 @@ the same format as the groups are defined in the configuration file:</p>
|
||||
<h3>Reconnecting / Keeping the Connection Alive<a class="headerlink" href="#reconnecting-keeping-the-connection-alive" title="Permalink to this headline">¶</a></h3>
|
||||
<p>If the database server’s idle timeout is exceeded while you’re doing
|
||||
some heavy PHP lifting (processing an image, for instance), you should
|
||||
consider pinging the server by using the reconnect() method before
|
||||
consider pinging the server by using the <code class="docutils literal notranslate"><span class="pre">reconnect()</span></code> method before
|
||||
sending further queries, which can gracefully keep the connection alive
|
||||
or re-establish it.</p>
|
||||
<div class="admonition important">
|
||||
<p class="admonition-title">Important</p>
|
||||
<p>If you are using MySQLi database driver, the reconnect() method
|
||||
<p>If you are using MySQLi database driver, the <code class="docutils literal notranslate"><span class="pre">reconnect()</span></code> method
|
||||
does not ping the server but it closes the connection then connects again.</p>
|
||||
</div>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$db</span><span class="o">-></span><span class="na">reconnect</span><span class="p">();</span>
|
||||
@ -480,7 +478,7 @@ connections, you can explicitly close the connection.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -388,7 +388,7 @@ potentially missing indexes, slow queries, etc. An example usage might be:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -372,16 +372,18 @@ automatically. See the <a class="reference internal" href="connecting.html"><spa
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$results</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">echo</span> <span class="s1">'Total Results: '</span> <span class="o">.</span> <span class="nb">count</span><span class="p">(</span><span class="nv">$results</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above getResult() function returns an array of <strong>objects</strong>. Example:
|
||||
$row->title</p>
|
||||
<div class="line-block">
|
||||
<div class="line">The above <code class="docutils literal notranslate"><span class="pre">getResult()</span></code> function returns an array of <strong>objects</strong>.</div>
|
||||
<div class="line">Example: <code class="docutils literal notranslate"><span class="pre">$row->title</span></code></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="standard-query-with-multiple-results-array-version">
|
||||
<h2>Standard Query With Multiple Results (Array Version)<a class="headerlink" href="#standard-query-with-multiple-results-array-version" title="Permalink to this headline">¶</a></h2>
|
||||
@ -390,14 +392,17 @@ $row->title</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$results</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'title'</span><span class="p">];</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'name'</span><span class="p">];</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'email'</span><span class="p">];</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'title'</span><span class="p">];</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'name'</span><span class="p">];</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'email'</span><span class="p">];</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above getResultArray() function returns an array of standard array
|
||||
indexes. Example: $row[‘title’]</p>
|
||||
<div class="line-block">
|
||||
<div class="line">The above <code class="docutils literal notranslate"><span class="pre">getResultArray()</span></code> function returns an array of standard array
|
||||
indexes.</div>
|
||||
<div class="line">Example: <code class="docutils literal notranslate"><span class="pre">$row['title']</span></code></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="section" id="standard-query-with-single-result">
|
||||
<h2>Standard Query With Single Result<a class="headerlink" href="#standard-query-with-single-result" title="Permalink to this headline">¶</a></h2>
|
||||
@ -406,7 +411,7 @@ indexes. Example: $row[‘title’]</p>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above getRow() function returns an <strong>object</strong>. Example: $row->name</p>
|
||||
<p>The above <code class="docutils literal notranslate"><span class="pre">getRow()</span></code> function returns an <strong>object</strong>. Example: <code class="docutils literal notranslate"><span class="pre">$row->name</span></code></p>
|
||||
</div>
|
||||
<div class="section" id="standard-query-with-single-result-array-version">
|
||||
<h2>Standard Query With Single Result (Array version)<a class="headerlink" href="#standard-query-with-single-result-array-version" title="Permalink to this headline">¶</a></h2>
|
||||
@ -415,8 +420,8 @@ indexes. Example: $row[‘title’]</p>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="p">[</span><span class="s1">'name'</span><span class="p">];</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above getRowArray() function returns an <strong>array</strong>. Example:
|
||||
$row[‘name’]</p>
|
||||
<p>The above <code class="docutils literal notranslate"><span class="pre">getRowArray()</span></code> function returns an <strong>array</strong>. Example:
|
||||
<code class="docutils literal notranslate"><span class="pre">$row['name']</span></code>.</p>
|
||||
</div>
|
||||
<div class="section" id="standard-insert">
|
||||
<h2>Standard Insert<a class="headerlink" href="#standard-insert" title="Permalink to this headline">¶</a></h2>
|
||||
@ -434,23 +439,24 @@ means of retrieving data:</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">getResult</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The above get() function retrieves all the results from the supplied
|
||||
<p>The above <code class="docutils literal notranslate"><span class="pre">get()</span></code> function retrieves all the results from the supplied
|
||||
table. The <a class="reference internal" href="query_builder.html"><span class="doc">Query Builder</span></a> class contains a full
|
||||
complement of functions for working with data.</p>
|
||||
</div>
|
||||
<div class="section" id="query-builder-insert">
|
||||
<h2>Query Builder Insert<a class="headerlink" href="#query-builder-insert" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="nv">$date</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="nv">$date</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">)</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span> <span class="c1">// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')</span>
|
||||
<span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">)</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: INSERT INTO mytable (title, name, date) VALUES ('{$title}', '{$name}', '{$date}')</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div>
|
||||
@ -472,7 +478,7 @@ complement of functions for working with data.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -380,9 +380,10 @@ Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'my_table'</span><span class="p">)</span><span class="o">-></span><span class="na">countAll</span><span class="p">();</span>
|
||||
|
||||
<span class="c1">// Produces an integer, like 25</span>
|
||||
|
||||
<span class="o">**</span><span class="nv">$db</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">()</span><span class="o">**</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$db->countAllResults()</strong></p>
|
||||
<p>Permits you to determine the number of rows in a particular result set.
|
||||
Submit the table name in the first parameter. This is part of Query Builder.
|
||||
Example:</p>
|
||||
@ -421,7 +422,7 @@ etc…):</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -383,7 +383,7 @@ patterns. The database functions offer clear, simple syntax.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -378,7 +378,7 @@ you are currently connected to. Example:</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$tables</span> <span class="k">as</span> <span class="nv">$table</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$table</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$table</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -394,7 +394,7 @@ you are currently connected to. Example:</p>
|
||||
running an operation on it. Returns a boolean TRUE/FALSE. Usage example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$db</span><span class="o">-></span><span class="na">tableExists</span><span class="p">(</span><span class="s1">'table_name'</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="c1">// some code...</span>
|
||||
<span class="c1">// some code...</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -411,23 +411,25 @@ running an operation on it. Returns a boolean TRUE/FALSE. Usage example:</p>
|
||||
<p><strong>$db->getFieldNames()</strong></p>
|
||||
<p>Returns an array containing the field names. This query can be called
|
||||
two ways:</p>
|
||||
<p>1. You can supply the table name and call it from the $db->
|
||||
object:</p>
|
||||
<ol class="arabic">
|
||||
<li><p>You can supply the table name and call it from the <code class="docutils literal notranslate"><span class="pre">$db->object</span></code>:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$fields</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">getFieldNames</span><span class="p">(</span><span class="s1">'table_name'</span><span class="p">);</span>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$fields</span> <span class="k">as</span> <span class="nv">$field</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
</ol>
|
||||
<p>2. You can gather the field names associated with any query you run by
|
||||
calling the function from your query result object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$query</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'SELECT * FROM some_table'</span><span class="p">);</span>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">getFieldNames</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$field</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -439,7 +441,7 @@ calling the function from your query result object:</p>
|
||||
performing an action. Returns a boolean TRUE/FALSE. Usage example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$db</span><span class="o">-></span><span class="na">fieldExists</span><span class="p">(</span><span class="s1">'field_name'</span><span class="p">,</span> <span class="s1">'table_name'</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="c1">// some code...</span>
|
||||
<span class="c1">// some code...</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -465,10 +467,10 @@ the column type, max length, etc.</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$fields</span> <span class="k">as</span> <span class="nv">$field</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">type</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">max_length</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">primary_key</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">type</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">max_length</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$field</span><span class="o">-></span><span class="na">primary_key</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -496,9 +498,9 @@ database:</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$keys</span> <span class="k">as</span> <span class="nv">$key</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">type</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">fields</span><span class="p">;</span> <span class="c1">// array of field names</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">type</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">fields</span><span class="p">;</span> <span class="c1">// array of field names</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -512,11 +514,11 @@ for each key associated with a table.</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$keys</span> <span class="k">as</span> <span class="nv">$key</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">constraint_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">table_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">column_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">foreign_table_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">foreign_column_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">constraint_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">table_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">column_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">foreign_table_name</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$key</span><span class="o">-></span><span class="na">foreign_column_name</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -543,7 +545,7 @@ foreign key definitions.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -387,7 +387,7 @@
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'YOUR QUERY HERE'</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The query() function returns a database result <strong>object</strong> when “read”
|
||||
<p>The <code class="docutils literal notranslate"><span class="pre">query()</span></code> function returns a database result <strong>object</strong> when “read”
|
||||
type queries are run which you can use to <a class="reference internal" href="results.html"><span class="doc">show your
|
||||
results</span></a>. When “write” type queries are run it simply
|
||||
returns TRUE or FALSE depending on success or failure. When retrieving
|
||||
@ -400,22 +400,22 @@ this:</p>
|
||||
<div class="section" id="simplified-queries">
|
||||
<h3><a class="toc-backref" href="#id3">Simplified Queries</a><a class="headerlink" href="#simplified-queries" title="Permalink to this headline">¶</a></h3>
|
||||
<p>The <strong>simpleQuery</strong> method is a simplified version of the
|
||||
$db->query() method. It DOES
|
||||
<code class="docutils literal notranslate"><span class="pre">$db->query()</span></code> method. It DOES
|
||||
NOT return a database result set, nor does it set the query timer, or
|
||||
compile bind data, or store your query for debugging. It simply lets you
|
||||
submit a query. Most users will rarely use this function.</p>
|
||||
<p>It returns whatever the database drivers’ “execute” function returns.
|
||||
<p>It returns whatever the database drivers “execute” function returns.
|
||||
That typically is TRUE/FALSE on success or failure for write type queries
|
||||
such as INSERT, DELETE or UPDATE statements (which is what it really
|
||||
should be used for) and a resource/object on success for queries with
|
||||
fetchable results.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$db</span><span class="o">-></span><span class="na">simpleQuery</span><span class="p">(</span><span class="s1">'YOUR QUERY'</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="s2">"Success!"</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="s2">"Success!"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">else</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="s2">"Query failed!"</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="s2">"Query failed!"</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -478,14 +478,14 @@ this:</p>
|
||||
<li><p><strong>$db->escape()</strong> This function determines the data type so
|
||||
that it can escape only string data. It also automatically adds
|
||||
single quotes around the data so you don’t have to:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"INSERT INTO table (title) VALUES("</span><span class="o">.</span><span class="nv">$db</span><span class="o">-></span><span class="na">escape</span><span class="p">(</span><span class="nv">$title</span><span class="p">)</span><span class="o">.</span><span class="s2">")"</span><span class="p">;</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"INSERT INTO table (title) VALUES("</span> <span class="o">.</span> <span class="nv">$db</span><span class="o">-></span><span class="na">escape</span><span class="p">(</span><span class="nv">$title</span><span class="p">)</span> <span class="o">.</span> <span class="s2">")"</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
<li><p><strong>$db->escapeString()</strong> This function escapes the data passed to
|
||||
it, regardless of type. Most of the time you’ll use the above
|
||||
function rather than this one. Use the function like this:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"INSERT INTO table (title) VALUES('"</span><span class="o">.</span><span class="nv">$db</span><span class="o">-></span><span class="na">escapeString</span><span class="p">(</span><span class="nv">$title</span><span class="p">)</span><span class="o">.</span><span class="s2">"')"</span><span class="p">;</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"INSERT INTO table (title) VALUES('"</span> <span class="o">.</span> <span class="nv">$db</span><span class="o">-></span><span class="na">escapeString</span><span class="p">(</span><span class="nv">$title</span><span class="p">)</span> <span class="o">.</span> <span class="s2">"')"</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</li>
|
||||
@ -495,7 +495,7 @@ strings are to be used in LIKE conditions so that LIKE wildcards
|
||||
</ol>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$search</span> <span class="o">=</span> <span class="s1">'20% raise'</span><span class="p">;</span>
|
||||
<span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"SELECT id FROM table WHERE column LIKE '%"</span> <span class="o">.</span>
|
||||
<span class="nv">$db</span><span class="o">-></span><span class="na">escapeLikeString</span><span class="p">(</span><span class="nv">$search</span><span class="p">)</span><span class="o">.</span><span class="s2">"%' ESCAPE '!'"</span><span class="p">;</span>
|
||||
<span class="nv">$db</span><span class="o">-></span><span class="na">escapeLikeString</span><span class="p">(</span><span class="nv">$search</span><span class="p">)</span> <span class="o">.</span> <span class="s2">"%' ESCAPE '!'"</span><span class="p">;</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition important">
|
||||
@ -536,9 +536,9 @@ you can name the bindings, allowing the keys of the values passed in to match
|
||||
placeholders in the query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="s2">"SELECT * FROM some_table WHERE id = :id: AND status = :status: AND author = :name:"</span><span class="p">;</span>
|
||||
<span class="nv">$db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="nv">$sql</span><span class="p">,</span> <span class="p">[</span>
|
||||
<span class="s1">'id'</span> <span class="o">=></span> <span class="mi">3</span><span class="p">,</span>
|
||||
<span class="s1">'status'</span> <span class="o">=></span> <span class="s1">'live'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Rick'</span>
|
||||
<span class="s1">'id'</span> <span class="o">=></span> <span class="mi">3</span><span class="p">,</span>
|
||||
<span class="s1">'status'</span> <span class="o">=></span> <span class="s1">'live'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Rick'</span>
|
||||
<span class="p">]);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -551,12 +551,12 @@ placeholders in the query:</p>
|
||||
<div class="section" id="handling-errors">
|
||||
<h2><a class="toc-backref" href="#id9">Handling Errors</a><a class="headerlink" href="#handling-errors" title="Permalink to this headline">¶</a></h2>
|
||||
<p><strong>$db->error();</strong></p>
|
||||
<p>If you need to get the last error that has occurred, the error() method
|
||||
<p>If you need to get the last error that has occurred, the <code class="docutils literal notranslate"><span class="pre">error()</span></code> method
|
||||
will return an array containing its code and message. Here’s a quick
|
||||
example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span> <span class="o">!</span> <span class="nv">$db</span><span class="o">-></span><span class="na">simpleQuery</span><span class="p">(</span><span class="s1">'SELECT `example_field` FROM `example_table`'</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$error</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">error</span><span class="p">();</span> <span class="c1">// Has keys 'code' and 'message'</span>
|
||||
<span class="nv">$error</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">error</span><span class="p">();</span> <span class="c1">// Has keys 'code' and 'message'</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -580,11 +580,11 @@ as placeholders. This returns a PreparedQuery object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$pQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">prepare</span><span class="p">(</span><span class="k">function</span><span class="p">(</span><span class="nv">$db</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'user'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">insert</span><span class="p">([</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'x'</span><span class="p">,</span>
|
||||
<span class="s1">'email'</span> <span class="o">=></span> <span class="s1">'y'</span><span class="p">,</span>
|
||||
<span class="s1">'country'</span> <span class="o">=></span> <span class="s1">'US'</span>
|
||||
<span class="p">]);</span>
|
||||
<span class="o">-></span><span class="na">insert</span><span class="p">([</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'x'</span><span class="p">,</span>
|
||||
<span class="s1">'email'</span> <span class="o">=></span> <span class="s1">'y'</span><span class="p">,</span>
|
||||
<span class="s1">'country'</span> <span class="o">=></span> <span class="s1">'US'</span>
|
||||
<span class="p">]);</span>
|
||||
<span class="p">});</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -623,11 +623,11 @@ query:</p>
|
||||
<span class="nv">$pQuery</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">prepare</span><span class="p">(</span><span class="k">function</span><span class="p">(</span><span class="nv">$db</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$db</span><span class="o">-></span><span class="na">table</span><span class="p">(</span><span class="s1">'user'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">insert</span><span class="p">([</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'x'</span><span class="p">,</span>
|
||||
<span class="s1">'email'</span> <span class="o">=></span> <span class="s1">'y'</span><span class="p">,</span>
|
||||
<span class="s1">'country'</span> <span class="o">=></span> <span class="s1">'US'</span>
|
||||
<span class="p">]);</span>
|
||||
<span class="o">-></span><span class="na">insert</span><span class="p">([</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'x'</span><span class="p">,</span>
|
||||
<span class="s1">'email'</span> <span class="o">=></span> <span class="s1">'y'</span><span class="p">,</span>
|
||||
<span class="s1">'country'</span> <span class="o">=></span> <span class="s1">'US'</span>
|
||||
<span class="p">]);</span>
|
||||
<span class="p">});</span>
|
||||
|
||||
<span class="c1">// Collect the Data</span>
|
||||
@ -653,7 +653,7 @@ close out the prepared statement when you’re done with it:</p>
|
||||
<p><strong>getQueryString()</strong></p>
|
||||
<p>This returns the prepared query as a string.</p>
|
||||
<p><strong>hasError()</strong></p>
|
||||
<p>Returns boolean true/false if the last execute() call created any errors.</p>
|
||||
<p>Returns boolean true/false if the last <code class="docutils literal notranslate"><span class="pre">execute()</span></code> call created any errors.</p>
|
||||
<p><strong>getErrorCode()</strong>
|
||||
<strong>getErrorMessage()</strong></p>
|
||||
<p>If any errors were encountered these methods can be used to retrieve the error code and string.</p>
|
||||
@ -698,17 +698,17 @@ binds in it, or prefixes swapped out, etc:</p>
|
||||
will return true:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">hasError</span><span class="p">())</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="s1">'Code: '</span><span class="o">.</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getErrorCode</span><span class="p">();</span>
|
||||
<span class="k">echo</span> <span class="s1">'Error: '</span><span class="o">.</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getErrorMessage</span><span class="p">();</span>
|
||||
<span class="k">echo</span> <span class="s1">'Code: '</span><span class="o">.</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getErrorCode</span><span class="p">();</span>
|
||||
<span class="k">echo</span> <span class="s1">'Error: '</span><span class="o">.</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getErrorMessage</span><span class="p">();</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>isWriteType()</strong></p>
|
||||
<p>Returns true if the query was determined to be a write-type query (i.e.
|
||||
<p>Returns true if the query was determined to be a write-type query (i.e.,
|
||||
INSERT, UPDATE, DELETE, etc):</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">isWriteType</span><span class="p">())</span>
|
||||
<span class="p">{</span>
|
||||
<span class="o">...</span> <span class="k">do</span> <span class="nx">something</span>
|
||||
<span class="c1">// ... do something</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -749,7 +749,7 @@ parameter is the value you want it replaced with:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -412,14 +412,14 @@ $query, which can be used to show the results:</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">getResult</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Please visit the <a class="reference internal" href="results.html"><span class="doc">result functions</span></a> page for a full
|
||||
discussion regarding result generation.</p>
|
||||
<p><strong>$builder->getCompiledSelect()</strong></p>
|
||||
<p>Compiles the selection query just like <strong>$builder->get()</strong> but does not <em>run</em>
|
||||
<p>Compiles the selection query just like <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code> but does not <em>run</em>
|
||||
the query. This method simply returns the SQL query as a string.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">();</span>
|
||||
@ -429,7 +429,7 @@ the query. This method simply returns the SQL query as a string.</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The first parameter enables you to set whether or not the query builder query
|
||||
will be reset (by default it will be reset, just like when using <cite>$builder->get()</cite>):</p>
|
||||
will be reset (by default it will be reset, just like when using <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code>):</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">20</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">(</span><span class="k">false</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// Prints string: SELECT * FROM mytable LIMIT 20, 10</span>
|
||||
@ -441,10 +441,10 @@ will be reset (by default it will be reset, just like when using <cite>$builder-
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The key thing to notice in the above example is that the second query did not
|
||||
utilize <strong>$builder->from()</strong> and did not pass a table name into the first
|
||||
utilize <code class="docutils literal notranslate"><span class="pre">$builder->from()</span></code> and did not pass a table name into the first
|
||||
parameter. The reason for this outcome is because the query has not been
|
||||
executed using <strong>$builder->get()</strong> which resets values or reset directly
|
||||
using <strong>$builder->resetQuery()</strong>.</p>
|
||||
executed using <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code> which resets values or reset directly
|
||||
using <code class="docutils literal notranslate"><span class="pre">$builder->resetQuery()</span></code>.</p>
|
||||
<p><strong>$builder->getWhere()</strong></p>
|
||||
<p>Identical to the <code class="docutils literal notranslate"><span class="pre">get()</span></code> function except that it permits you to add a
|
||||
“where” clause in the first parameter, instead of using the db->where()
|
||||
@ -465,7 +465,7 @@ function:</p>
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>If you are selecting all (*) from a table you do not need to
|
||||
use this function. When omitted, CodeIgniter assumes that you wish
|
||||
to select all fields and automatically adds ‘SELECT *’.</p>
|
||||
to select all fields and automatically adds <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">\*</span></code>.</p>
|
||||
</div>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">$builder->select()</span></code> accepts an optional second parameter. If you set it
|
||||
to <code class="docutils literal notranslate"><span class="pre">false</span></code>, CodeIgniter will not try to protect your field or table names.
|
||||
@ -479,10 +479,12 @@ escaping of fields may break them.</p>
|
||||
<p>Writes a <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">MAX(field)</span></code> portion for your query. You can optionally
|
||||
include a second parameter to rename the resulting field.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">selectMax</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT MAX(age) as age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT MAX(age) as age FROM mytable</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">selectMax</span><span class="p">(</span><span class="s1">'age'</span><span class="p">,</span> <span class="s1">'member_age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT MAX(age) as member_age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT MAX(age) as member_age FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->selectMin()</strong></p>
|
||||
@ -490,7 +492,8 @@ include a second parameter to rename the resulting field.</p>
|
||||
selectMax(), You can optionally include a second parameter to rename
|
||||
the resulting field.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">selectMin</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT MIN(age) as age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT MIN(age) as age FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->selectAvg()</strong></p>
|
||||
@ -498,20 +501,22 @@ the resulting field.</p>
|
||||
selectMax(), You can optionally include a second parameter to rename
|
||||
the resulting field.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">selectAvg</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT AVG(age) as age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT AVG(age) as age FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->selectSum()</strong></p>
|
||||
<p>Writes a “SELECT SUM(field)” portion for your query. As with
|
||||
selectMax(), You can optionally include a second parameter to rename
|
||||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||||
the resulting field.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">selectSum</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT SUM(age) as age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT SUM(age) as age FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->selectCount()</strong></p>
|
||||
<p>Writes a “SELECT COUNT(field)” portion for your query. As with
|
||||
selectMax(), You can optionally include a second parameter to rename
|
||||
<p>Writes a <code class="docutils literal notranslate"><span class="pre">"SELECT</span> <span class="pre">COUNT(field)"</span></code> portion for your query. As with
|
||||
<code class="docutils literal notranslate"><span class="pre">selectMax()</span></code>, You can optionally include a second parameter to rename
|
||||
the resulting field.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
@ -519,20 +524,22 @@ the resulting field.</p>
|
||||
counting results generally see <code class="docutils literal notranslate"><span class="pre">countAll()</span></code> or <code class="docutils literal notranslate"><span class="pre">countAllResults()</span></code>.</p>
|
||||
</div>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">selectCount</span><span class="p">(</span><span class="s1">'age'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT COUNT(age) as age FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT COUNT(age) as age FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->from()</strong></p>
|
||||
<p>Permits you to write the FROM portion of your query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'title, content, date'</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT title, content, date FROM mytable</span>
|
||||
<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT title, content, date FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>As shown earlier, the FROM portion of your query can is specified
|
||||
in the $db->table() function. Additional calls to from() will add more tables
|
||||
in the <code class="docutils literal notranslate"><span class="pre">$db->table()</span></code> function. Additional calls to <code class="docutils literal notranslate"><span class="pre">from()</span></code> will add more tables
|
||||
to the FROM portion of your query.</p>
|
||||
</div>
|
||||
<p><strong>$builder->join()</strong></p>
|
||||
@ -569,7 +576,8 @@ producing safer queries.</p>
|
||||
<ol class="arabic">
|
||||
<li><p><strong>Simple key/value method:</strong></p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span> <span class="c1">// Produces: WHERE name = 'Joe'</span>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: WHERE name = 'Joe'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Notice that the equal sign is added for you.</p>
|
||||
@ -588,7 +596,8 @@ AND between them:</p>
|
||||
<div><p>You can include an operator in the first parameter in order to
|
||||
control the comparison:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name !='</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id <'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span> <span class="c1">// Produces: WHERE name != 'Joe' AND id < 45</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id <'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: WHERE name != 'Joe' AND id < 45</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
@ -608,13 +617,11 @@ control the comparison:</p>
|
||||
</div></blockquote>
|
||||
</li>
|
||||
<li><dl>
|
||||
<dt><strong>Custom string:</strong></dt><dd><blockquote>
|
||||
<div><p>You can write your own clauses manually:</p>
|
||||
<dt><strong>Custom string:</strong></dt><dd><p>You can write your own clauses manually:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$where</span> <span class="o">=</span> <span class="s2">"name='Joe' AND status='boss' OR status='active'"</span><span class="p">;</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="nv">$where</span><span class="p">);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code> accepts an optional third parameter. If you set it to
|
||||
<code class="docutils literal notranslate"><span class="pre">false</span></code>, CodeIgniter will not try to protect your field or table names.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'MATCH (field) AGAINST ("value")'</span><span class="p">,</span> <span class="k">null</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
|
||||
@ -640,7 +647,8 @@ control the comparison:</p>
|
||||
instances are joined by OR</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'name !='</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhere</span><span class="p">(</span><span class="s1">'id >'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span> <span class="c1">// Produces: WHERE name != 'Joe' OR id > 50</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orWhere</span><span class="p">(</span><span class="s1">'id >'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: WHERE name != 'Joe' OR id > 50</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
@ -664,7 +672,7 @@ appropriate</p>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->orWhereIn()</strong></p>
|
||||
<p>Generates a WHERE field IN (‘item’, ‘item’) SQL query joined with OR if
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span> <span class="pre">field</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with OR if
|
||||
appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||||
@ -704,7 +712,7 @@ AND if appropriate</p>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->orWhereNotIn()</strong></p>
|
||||
<p>Generates a WHERE field NOT IN (‘item’, ‘item’) SQL query joined with OR
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">WHERE</span> <span class="pre">field</span> <span class="pre">NOT</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with OR
|
||||
if appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$names</span> <span class="o">=</span> <span class="p">[</span><span class="s1">'Frank'</span><span class="p">,</span> <span class="s1">'Todd'</span><span class="p">,</span> <span class="s1">'James'</span><span class="p">];</span>
|
||||
@ -784,7 +792,7 @@ instances are joined by OR:</p>
|
||||
<p><strong>$builder->notLike()</strong></p>
|
||||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">like()</span></code>, except that it generates
|
||||
NOT LIKE statements:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">notLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span> <span class="c1">// WHERE `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">notLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span> <span class="c1">// WHERE `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->orNotLike()</strong></p>
|
||||
@ -797,24 +805,27 @@ instances are joined by OR:</p>
|
||||
</div>
|
||||
<p><strong>$builder->groupBy()</strong></p>
|
||||
<p>Permits you to write the GROUP BY portion of your query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">(</span><span class="s2">"title"</span><span class="p">);</span> <span class="c1">// Produces: GROUP BY title</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">(</span><span class="s2">"title"</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: GROUP BY title</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can also pass an array of multiple values as well:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">([</span><span class="s2">"title"</span><span class="p">,</span> <span class="s2">"date"</span><span class="p">]);</span> <span class="c1">// Produces: GROUP BY title, date</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">groupBy</span><span class="p">([</span><span class="s2">"title"</span><span class="p">,</span> <span class="s2">"date"</span><span class="p">]);</span>
|
||||
<span class="c1">// Produces: GROUP BY title, date</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->distinct()</strong></p>
|
||||
<p>Adds the “DISTINCT” keyword to a query</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">distinct</span><span class="p">();</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span> <span class="c1">// Produces: SELECT DISTINCT * FROM mytable</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: SELECT DISTINCT * FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->having()</strong></p>
|
||||
<p>Permits you to write the HAVING portion of your query. There are 2
|
||||
possible syntaxes, 1 argument or 2:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id = 45'</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id = 45'</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can also pass an array of multiple values as well:</p>
|
||||
@ -825,91 +836,75 @@ possible syntaxes, 1 argument or 2:</p>
|
||||
<p>If you are using a database that CodeIgniter escapes queries for, you
|
||||
can prevent escaping content by passing an optional third argument, and
|
||||
setting it to <code class="docutils literal notranslate"><span class="pre">false</span></code>.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING `user_id` = 45 in some databases such as MySQL</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">);</span> <span class="c1">// Produces: HAVING `user_id` = 45 in some databases such as MySQL</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">having</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">,</span> <span class="mi">45</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span> <span class="c1">// Produces: HAVING user_id = 45</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->orHaving()</strong></p>
|
||||
<p>Identical to having(), only separates multiple clauses with “OR”.</p>
|
||||
<p>Identical to <code class="docutils literal notranslate"><span class="pre">having()</span></code>, only separates multiple clauses with “OR”.</p>
|
||||
<p><strong>$builder->havingIn()</strong></p>
|
||||
<p>Generates a HAVING field IN (‘item’, ‘item’) SQL query joined with AND if
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span> <span class="pre">field</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with AND if
|
||||
appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: HAVING group_id IN (1, 2, 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p>You can use subqueries instead of an array of values.</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
<span class="c1">// Produces: HAVING "id" IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->orHavingIn()</strong></p>
|
||||
<p>Generates a HAVING field IN (‘item’, ‘item’) SQL query joined with OR if
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span> <span class="pre">field</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with OR if
|
||||
appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: OR group_id IN (1, 2, 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p>You can use subqueries instead of an array of values.</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
|
||||
<span class="c1">// Produces: OR "id" IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->havingNotIn()</strong></p>
|
||||
<p>Generates a HAVING field NOT IN (‘item’, ‘item’) SQL query joined with
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span> <span class="pre">field</span> <span class="pre">NOT</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with
|
||||
AND if appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: HAVING group_id NOT IN (1, 2, 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p>You can use subqueries instead of an array of values.</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
|
||||
<span class="c1">// Produces: HAVING "id" NOT IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->orHavingNotIn()</strong></p>
|
||||
<p>Generates a HAVING field NOT IN (‘item’, ‘item’) SQL query joined with OR
|
||||
<p>Generates a <code class="docutils literal notranslate"><span class="pre">HAVING</span> <span class="pre">field</span> <span class="pre">NOT</span> <span class="pre">IN</span> <span class="pre">('item',</span> <span class="pre">'item')</span></code> SQL query joined with OR
|
||||
if appropriate</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$groups</span> <span class="o">=</span> <span class="p">[</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="mi">3</span><span class="p">];</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingNotIn</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="nv">$groups</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: OR group_id NOT IN (1, 2, 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p>You can use subqueries instead of an array of values.</p>
|
||||
<blockquote>
|
||||
<div><div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">orHavingNotIn</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="k">function</span><span class="p">(</span><span class="nx">BaseBuilder</span> <span class="nv">$builder</span><span class="p">)</span> <span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'user_id'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'users_jobs'</span><span class="p">)</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'group_id'</span><span class="p">,</span> <span class="mi">3</span><span class="p">);</span>
|
||||
<span class="p">});</span>
|
||||
|
||||
<span class="c1">// Produces: OR "id" NOT IN (SELECT "user_id" FROM "users_jobs" WHERE "group_id" = 3)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
<p><strong>$builder->havingLike()</strong></p>
|
||||
<p>This method enables you to generate <strong>LIKE</strong> clauses for HAVING part or the query, useful for doing
|
||||
searches.</p>
|
||||
@ -941,9 +936,9 @@ AND between them:</p>
|
||||
<p>If you want to control where the wildcard (%) is placed, you can use
|
||||
an optional third argument. Your options are ‘before’, ‘after’ and
|
||||
‘both’ (which is the default).</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'before'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match' ESCAPE '!'</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'after'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE 'match%' ESCAPE '!'</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'both'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match%' ESCAPE '!'</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'before'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match' ESCAPE '!'</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'after'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE 'match%' ESCAPE '!'</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">havingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'both'</span><span class="p">);</span> <span class="c1">// Produces: HAVING `title` LIKE '%match%' ESCAPE '!'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
</div></blockquote>
|
||||
@ -968,7 +963,8 @@ instances are joined by OR:</p>
|
||||
<p><strong>$builder->notHavingLike()</strong></p>
|
||||
<p>This method is identical to <code class="docutils literal notranslate"><span class="pre">havingLike()</span></code>, except that it generates
|
||||
NOT LIKE statements:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">notHavingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span> <span class="c1">// HAVING `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">notHavingLike</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||||
<span class="c1">// HAVING `title` NOT LIKE '%match% ESCAPE '!'</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->orNotHavingLike()</strong></p>
|
||||
@ -1021,18 +1017,20 @@ will default to ASC instead.</p>
|
||||
<h2><a class="toc-backref" href="#id6">Limiting or Counting Results</a><a class="headerlink" href="#limiting-or-counting-results" title="Permalink to this headline">¶</a></h2>
|
||||
<p><strong>$builder->limit()</strong></p>
|
||||
<p>Lets you limit the number of rows you would like returned by the query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span> <span class="c1">// Produces: LIMIT 10</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: LIMIT 10</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The second parameter lets you set a result offset.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">);</span> <span class="c1">// Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">limit</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span> <span class="mi">20</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: LIMIT 20, 10 (in MySQL. Other databases have slightly different syntax)</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->countAllResults()</strong></p>
|
||||
<p>Permits you to determine the number of rows in a particular Query
|
||||
Builder query. Queries will accept Query Builder restrictors such as
|
||||
<code class="docutils literal notranslate"><span class="pre">where()</span></code>, <code class="docutils literal notranslate"><span class="pre">orWhere()</span></code>, <code class="docutils literal notranslate"><span class="pre">like()</span></code>, <code class="docutils literal notranslate"><span class="pre">orLike()</span></code>, etc. Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">like</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'my_table'</span><span class="p">);</span>
|
||||
<span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">();</span> <span class="c1">// Produces an integer, like 17</span>
|
||||
@ -1041,13 +1039,13 @@ Builder query. Queries will accept Query Builder restrictors such as
|
||||
<p>However, this method also resets any field values that you may have passed
|
||||
to <code class="docutils literal notranslate"><span class="pre">select()</span></code>. If you need to keep them, you can pass <code class="docutils literal notranslate"><span class="pre">false</span></code> as the
|
||||
first parameter.</p>
|
||||
<blockquote>
|
||||
<div><p>echo $builder->countAllResults(false); // Produces an integer, like 17</p>
|
||||
</div></blockquote>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAllResults</span><span class="p">(</span><span class="k">false</span><span class="p">);</span> <span class="c1">// Produces an integer, like 17</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->countAll()</strong></p>
|
||||
<p>Permits you to determine the number of rows in a particular table.
|
||||
Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAll</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">countAll</span><span class="p">();</span> <span class="c1">// Produces an integer, like 25</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>As is in countAllResult method, this method resets any field values that you may have passed
|
||||
@ -1059,14 +1057,14 @@ first parameter.</p>
|
||||
<p>Query grouping allows you to create groups of WHERE clauses by enclosing them in parentheses. This will allow
|
||||
you to create queries with complex WHERE clauses. Nested groups are supported. Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">(</span><span class="s1">'*'</span><span class="p">)</span><span class="o">-></span><span class="na">from</span><span class="p">(</span><span class="s1">'my_table'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">groupStart</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">orGroupStart</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'b'</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'c'</span><span class="p">,</span> <span class="s1">'c'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">groupEnd</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">groupStart</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'a'</span><span class="p">,</span> <span class="s1">'a'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">orGroupStart</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'b'</span><span class="p">,</span> <span class="s1">'b'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'c'</span><span class="p">,</span> <span class="s1">'c'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">groupEnd</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'d'</span><span class="p">,</span> <span class="s1">'d'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">groupEnd</span><span class="p">()</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'d'</span><span class="p">,</span> <span class="s1">'d'</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">get</span><span class="p">();</span>
|
||||
|
||||
<span class="c1">// Generates:</span>
|
||||
@ -1075,7 +1073,7 @@ you to create queries with complex WHERE clauses. Nested groups are supported. E
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Groups need to be balanced, make sure every groupStart() is matched by a groupEnd().</p>
|
||||
<p>Groups need to be balanced, make sure every <code class="docutils literal notranslate"><span class="pre">groupStart()</span></code> is matched by a <code class="docutils literal notranslate"><span class="pre">groupEnd()</span></code>.</p>
|
||||
</div>
|
||||
<p><strong>$builder->groupStart()</strong></p>
|
||||
<p>Starts a new group by adding an opening parenthesis to the WHERE clause of the query.</p>
|
||||
@ -1105,9 +1103,9 @@ you to create queries with complex WHERE clauses. Nested groups are supported. E
|
||||
query. You can either pass an <strong>array</strong> or an <strong>object</strong> to the
|
||||
function. Here is an example using an array:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
@ -1118,9 +1116,9 @@ function. Here is an example using an array:</p>
|
||||
<p>Here is an example using an object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Myclass</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">;</span>
|
||||
@ -1138,9 +1136,9 @@ function. Here is an example using an array:</p>
|
||||
query. So if an entry with the same primary key already exists, the query won’t be inserted.
|
||||
You can optionally pass an <strong>boolean</strong> to the function. Here is an example using the array of the above example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">ignore</span><span class="p">(</span><span class="k">true</span><span class="p">)</span><span class="o">-></span><span class="na">insert</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
@ -1148,13 +1146,13 @@ You can optionally pass an <strong>boolean</strong> to the function. Here is an
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->getCompiledInsert()</strong></p>
|
||||
<p>Compiles the insertion query just like $builder->insert() but does not
|
||||
<p>Compiles the insertion query just like <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code> but does not
|
||||
<em>run</em> the query. This method simply returns the SQL query as a string.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="nv">$data</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledInsert</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||||
@ -1164,7 +1162,7 @@ You can optionally pass an <strong>boolean</strong> to the function. Here is an
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The second parameter enables you to set whether or not the query builder query
|
||||
will be reset (by default it will be–just like $builder->insert()):</p>
|
||||
will be reset (by default it will be–just like <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code>):</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">echo</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'title'</span><span class="p">,</span> <span class="s1">'My Title'</span><span class="p">)</span><span class="o">-></span><span class="na">getCompiledInsert</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
|
||||
|
||||
<span class="c1">// Produces string: INSERT INTO mytable (`title`) VALUES ('My Title')</span>
|
||||
@ -1175,10 +1173,10 @@ will be reset (by default it will be–just like $builder->insert()):</p>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The key thing to notice in the above example is that the second query did not
|
||||
utilize <cite>$builder->from()</cite> nor did it pass a table name into the first
|
||||
utilize <code class="docutils literal notranslate"><span class="pre">$builder->from()</span></code> nor did it pass a table name into the first
|
||||
parameter. The reason this worked is that the query has not been executed
|
||||
using <cite>$builder->insert()</cite> which resets values or reset directly using
|
||||
<cite>$builder->resetQuery()</cite>.</p>
|
||||
using <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code> which resets values or reset directly using
|
||||
<code class="docutils literal notranslate"><span class="pre">$builder->resetQuery()</span></code>.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This method doesn’t work for batch inserts.</p>
|
||||
@ -1188,16 +1186,16 @@ using <cite>$builder->insert()</cite> which resets values or reset directly u
|
||||
query. You can either pass an <strong>array</strong> or an <strong>object</strong> to the
|
||||
function. Here is an example using an array:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'Another title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Another Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'Another date'</span><span class="p">,</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'Another title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'Another Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'Another date'</span><span class="p">,</span>
|
||||
<span class="p">],</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insertBatch</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
@ -1221,9 +1219,9 @@ logics with different combinations of <code class="docutils literal notranslate
|
||||
<code class="docutils literal notranslate"><span class="pre">delete()</span></code> and <code class="docutils literal notranslate"><span class="pre">insert()</span></code> calls.</p>
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="s1">'My title'</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="s1">'My Name'</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="s1">'My date'</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">replace</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
@ -1241,7 +1239,8 @@ automatically escaped, just like with <code class="docutils literal notranslate"
|
||||
<p><strong>It can be used instead of passing a data array directly to the insert
|
||||
or update functions:</strong></p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'name'</span><span class="p">,</span> <span class="nv">$name</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span> <span class="c1">// Produces: INSERT INTO mytable (`name`) VALUES ('{$name}')</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">insert</span><span class="p">();</span>
|
||||
<span class="c1">// Produces: INSERT INTO mytable (`name`) VALUES ('{$name}')</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If you use multiple function called they will be assembled properly
|
||||
@ -1258,18 +1257,20 @@ difference, here is <code class="docutils literal notranslate"><span class="pre"
|
||||
parameter.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'field'</span><span class="p">,</span> <span class="s1">'field+1'</span><span class="p">,</span> <span class="k">false</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span> <span class="c1">// gives UPDATE mytable SET field = field+1 WHERE `id` = 2</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span>
|
||||
<span class="c1">// gives UPDATE mytable SET field = field+1 WHERE `id` = 2</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="s1">'field'</span><span class="p">,</span> <span class="s1">'field+1'</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="mi">2</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span> <span class="c1">// gives UPDATE `mytable` SET `field` = 'field+1' WHERE `id` = 2</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">();</span>
|
||||
<span class="c1">// gives UPDATE `mytable` SET `field` = 'field+1' WHERE `id` = 2</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You can also pass an associative array to this function:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$array</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'status'</span> <span class="o">=></span> <span class="nv">$status</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'status'</span> <span class="o">=></span> <span class="nv">$status</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">set</span><span class="p">(</span><span class="nv">$array</span><span class="p">);</span>
|
||||
@ -1279,9 +1280,9 @@ parameter.</p>
|
||||
<p>Or an object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Myclass</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">;</span>
|
||||
@ -1294,26 +1295,26 @@ parameter.</p>
|
||||
supply. You can pass an <strong>array</strong> or an <strong>object</strong> to the function. Here
|
||||
is an example using an array:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$data</span> <span class="o">=</span> <span class="p">[</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="nv">$date</span><span class="p">,</span>
|
||||
<span class="s1">'title'</span> <span class="o">=></span> <span class="nv">$title</span><span class="p">,</span>
|
||||
<span class="s1">'name'</span> <span class="o">=></span> <span class="nv">$name</span><span class="p">,</span>
|
||||
<span class="s1">'date'</span> <span class="o">=></span> <span class="nv">$date</span><span class="p">,</span>
|
||||
<span class="p">];</span>
|
||||
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">);</span>
|
||||
<span class="c1">// Produces:</span>
|
||||
<span class="c1">//</span>
|
||||
<span class="c1">// UPDATE mytable</span>
|
||||
<span class="c1">// SET title = '{$title}', name = '{$name}', date = '{$date}'</span>
|
||||
<span class="c1">// WHERE id = $id</span>
|
||||
<span class="c1">// UPDATE mytable</span>
|
||||
<span class="c1">// SET title = '{$title}', name = '{$name}', date = '{$date}'</span>
|
||||
<span class="c1">// WHERE id = $id</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>Or you can supply an object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">Myclass</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$title</span> <span class="o">=</span> <span class="s1">'My Title'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$content</span> <span class="o">=</span> <span class="s1">'My Content'</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$date</span> <span class="o">=</span> <span class="s1">'My Date'</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nv">$object</span> <span class="o">=</span> <span class="k">new</span> <span class="nx">Myclass</span><span class="p">;</span>
|
||||
@ -1330,7 +1331,7 @@ is an example using an array:</p>
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>All values are escaped automatically producing safer queries.</p>
|
||||
</div>
|
||||
<p>You’ll notice the use of the $builder->where() function, enabling you
|
||||
<p>You’ll notice the use of the <code class="docutils literal notranslate"><span class="pre">$builder->where()</span></code> function, enabling you
|
||||
to set the WHERE clause. You can optionally pass this information
|
||||
directly into the update function as a string:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="s2">"id = 4"</span><span class="p">);</span>
|
||||
@ -1340,7 +1341,7 @@ directly into the update function as a string:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">update</span><span class="p">(</span><span class="nv">$data</span><span class="p">,</span> <span class="p">[</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>You may also use the $builder->set() function described above when
|
||||
<p>You may also use the <code class="docutils literal notranslate"><span class="pre">$builder->set()</span></code> function described above when
|
||||
performing updates.</p>
|
||||
<p><strong>$builder->updateBatch()</strong></p>
|
||||
<p>Generates an update string based on the data you supply, and runs the query.
|
||||
@ -1387,7 +1388,7 @@ returns the number of rows affected.</p>
|
||||
<p><strong>$builder->getCompiledUpdate()</strong></p>
|
||||
<p>This works exactly the same way as <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code> except
|
||||
that it produces an UPDATE SQL string instead of an INSERT SQL string.</p>
|
||||
<p>For more information view documentation for <cite>$builder->getCompiledInsert()</cite>.</p>
|
||||
<p>For more information view documentation for <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code>.</p>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>This method doesn’t work for batched updates.</p>
|
||||
@ -1397,11 +1398,12 @@ that it produces an UPDATE SQL string instead of an INSERT SQL string.</p>
|
||||
<h2><a class="toc-backref" href="#id10">Deleting Data</a><a class="headerlink" href="#deleting-data" title="Permalink to this headline">¶</a></h2>
|
||||
<p><strong>$builder->delete()</strong></p>
|
||||
<p>Generates a delete SQL string and runs the query.</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">delete</span><span class="p">([</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span> <span class="c1">// Produces: // DELETE FROM mytable // WHERE id = $id</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">delete</span><span class="p">([</span><span class="s1">'id'</span> <span class="o">=></span> <span class="nv">$id</span><span class="p">]);</span>
|
||||
<span class="c1">// Produces: // DELETE FROM mytable // WHERE id = $id</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>The first parameter is the where clause.
|
||||
You can also use the where() or or_where() functions instead of passing
|
||||
You can also use the <code class="docutils literal notranslate"><span class="pre">where()</span></code> or <code class="docutils literal notranslate"><span class="pre">or_where()</span></code> functions instead of passing
|
||||
the data to the first parameter of the function:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'id'</span><span class="p">,</span> <span class="nv">$id</span><span class="p">);</span>
|
||||
<span class="nv">$builder</span><span class="o">-></span><span class="na">delete</span><span class="p">();</span>
|
||||
@ -1411,12 +1413,13 @@ the data to the first parameter of the function:</p>
|
||||
<span class="c1">// WHERE id = $id</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>If you want to delete all data from a table, you can use the truncate()
|
||||
function, or emptyTable().</p>
|
||||
<p>If you want to delete all data from a table, you can use the <code class="docutils literal notranslate"><span class="pre">truncate()</span></code>
|
||||
function, or <code class="docutils literal notranslate"><span class="pre">emptyTable()</span></code>.</p>
|
||||
<p><strong>$builder->emptyTable()</strong></p>
|
||||
<p>Generates a delete SQL string and runs the
|
||||
query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">emptyTable</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span> <span class="c1">// Produces: DELETE FROM mytable</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$builder</span><span class="o">-></span><span class="na">emptyTable</span><span class="p">(</span><span class="s1">'mytable'</span><span class="p">);</span>
|
||||
<span class="c1">// Produces: DELETE FROM mytable</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>$builder->truncate()</strong></p>
|
||||
@ -1429,13 +1432,13 @@ query:</p>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>If the TRUNCATE command isn’t available, truncate() will
|
||||
<p>If the TRUNCATE command isn’t available, <code class="docutils literal notranslate"><span class="pre">truncate()</span></code> will
|
||||
execute as “DELETE FROM table”.</p>
|
||||
</div>
|
||||
<p><strong>$builder->getCompiledDelete()</strong></p>
|
||||
<p>This works exactly the same way as <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code> except
|
||||
that it produces a DELETE SQL string instead of an INSERT SQL string.</p>
|
||||
<p>For more information view documentation for $builder->getCompiledInsert().</p>
|
||||
<p>For more information view documentation for <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledInsert()</span></code>.</p>
|
||||
</div>
|
||||
<div class="section" id="method-chaining">
|
||||
<h2><a class="toc-backref" href="#id11">Method Chaining</a><a class="headerlink" href="#method-chaining" title="Permalink to this headline">¶</a></h2>
|
||||
@ -1452,11 +1455,11 @@ multiple functions. Consider this example:</p>
|
||||
<span id="ar-caching"></span><h2><a class="toc-backref" href="#id12">Resetting Query Builder</a><a class="headerlink" href="#resetting-query-builder" title="Permalink to this headline">¶</a></h2>
|
||||
<p><strong>$builder->resetQuery()</strong></p>
|
||||
<p>Resetting Query Builder allows you to start fresh with your query without
|
||||
executing it first using a method like $builder->get() or $builder->insert().</p>
|
||||
executing it first using a method like <code class="docutils literal notranslate"><span class="pre">$builder->get()</span></code> or <code class="docutils literal notranslate"><span class="pre">$builder->insert()</span></code>.</p>
|
||||
<p>This is useful in situations where you are using Query Builder to generate SQL
|
||||
(ex. <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledSelect()</span></code>) but then choose to, for instance,
|
||||
(e.g., <code class="docutils literal notranslate"><span class="pre">$builder->getCompiledSelect()</span></code>) but then choose to, for instance,
|
||||
run the query:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="c1">// Note that the second parameter of the get_compiled_select method is false</span>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="c1">// Note that the second parameter of the ``get_compiled_select`` method is false</span>
|
||||
<span class="nv">$sql</span> <span class="o">=</span> <span class="nv">$builder</span><span class="o">-></span><span class="na">select</span><span class="p">([</span><span class="s1">'field1'</span><span class="p">,</span><span class="s1">'field2'</span><span class="p">])</span>
|
||||
<span class="o">-></span><span class="na">where</span><span class="p">(</span><span class="s1">'field3'</span><span class="p">,</span><span class="mi">5</span><span class="p">)</span>
|
||||
<span class="o">-></span><span class="na">getCompiledSelect</span><span class="p">(</span><span class="k">false</span><span class="p">);</span>
|
||||
@ -2631,9 +2634,7 @@ multiple queries will be executed, each handling up to
|
||||
<dl class="method">
|
||||
<dt id="increment">
|
||||
<code class="sig-name descname">increment</code><span class="sig-paren">(</span><em class="sig-param">$column</em><span class="optional">[</span>, <em class="sig-param">$value = 1</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#increment" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="field-list simple">
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>$column</strong> (<em>string</em>) – The name of the column to increment</p></li>
|
||||
@ -2644,12 +2645,12 @@ multiple queries will be executed, each handling up to
|
||||
<p>Increments the value of a field by the specified amount. If the field
|
||||
is not a numeric field, like a <code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code>, it will likely be replaced
|
||||
with <code class="docutils literal notranslate"><span class="pre">$value</span></code>.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="decrement">
|
||||
<code class="sig-name descname">decrement</code><span class="sig-paren">(</span><em class="sig-param">$column</em><span class="optional">[</span>, <em class="sig-param">$value = 1</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#decrement" title="Permalink to this definition">¶</a></dt>
|
||||
<dd></dd></dl>
|
||||
|
||||
<dl class="field-list simple">
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>$column</strong> (<em>string</em>) – The name of the column to decrement</p></li>
|
||||
@ -2660,6 +2661,8 @@ with <code class="docutils literal notranslate"><span class="pre">$value</span><
|
||||
<p>Decrements the value of a field by the specified amount. If the field
|
||||
is not a numeric field, like a <code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code>, it will likely be replaced
|
||||
with <code class="docutils literal notranslate"><span class="pre">$value</span></code>.</p>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="truncate">
|
||||
<code class="sig-name descname">truncate</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#truncate" title="Permalink to this definition">¶</a></dt>
|
||||
@ -2790,7 +2793,7 @@ a <code class="docutils literal notranslate"><span class="pre">DELETE</span></co
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -526,32 +526,32 @@ then you should provide a <code class="docutils literal notranslate"><span class
|
||||
<p>Example:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="k">class</span> <span class="nc">User</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">public</span> <span class="nv">$id</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$email</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$username</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$id</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$email</span><span class="p">;</span>
|
||||
<span class="k">public</span> <span class="nv">$username</span><span class="p">;</span>
|
||||
|
||||
<span class="k">protected</span> <span class="nv">$last_login</span><span class="p">;</span>
|
||||
<span class="k">protected</span> <span class="nv">$last_login</span><span class="p">;</span>
|
||||
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="nf">lastLogin</span><span class="p">(</span><span class="nv">$format</span><span class="p">)</span>
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="nf">lastLogin</span><span class="p">(</span><span class="nv">$format</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="na">lastLogin</span><span class="o">-></span><span class="na">format</span><span class="p">(</span><span class="nv">$format</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__set</span><span class="p">(</span><span class="nv">$name</span><span class="p">,</span> <span class="nv">$value</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$name</span> <span class="o">===</span> <span class="s1">'lastLogin'</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="na">lastLogin</span><span class="o">-></span><span class="na">format</span><span class="p">(</span><span class="nv">$format</span><span class="p">);</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">lastLogin</span> <span class="o">=</span> <span class="nx">DateTime</span><span class="o">::</span><span class="na">createFromFormat</span><span class="p">(</span><span class="s1">'U'</span><span class="p">,</span> <span class="nv">$value</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__set</span><span class="p">(</span><span class="nv">$name</span><span class="p">,</span> <span class="nv">$value</span><span class="p">)</span>
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__get</span><span class="p">(</span><span class="nv">$name</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$this</span><span class="o">-></span><span class="nv">$name</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$name</span> <span class="o">===</span> <span class="s1">'lastLogin'</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">lastLogin</span> <span class="o">=</span> <span class="nx">DateTime</span><span class="o">::</span><span class="na">createFromFormat</span><span class="p">(</span><span class="s1">'U'</span><span class="p">,</span> <span class="nv">$value</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="k">public</span> <span class="k">function</span> <span class="fm">__get</span><span class="p">(</span><span class="nv">$name</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$this</span><span class="o">-></span><span class="nv">$name</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="nv">$name</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">return</span> <span class="nv">$this</span><span class="o">-></span><span class="nv">$name</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -568,9 +568,9 @@ The only parameter is the name of the class to instantiate.</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$rows</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">id</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">last_login</span><span class="p">(</span><span class="s1">'Y-m-d'</span><span class="p">);</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">id</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">last_login</span><span class="p">(</span><span class="s1">'Y-m-d'</span><span class="p">);</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -584,8 +584,8 @@ number of the results. The second parameter is the class name to instantiate.</p
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nb">isset</span><span class="p">(</span><span class="nv">$row</span><span class="p">))</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span> <span class="c1">// access attributes</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">last_login</span><span class="p">(</span><span class="s1">'Y-m-d'</span><span class="p">);</span> <span class="c1">// access class methods</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">email</span><span class="p">;</span> <span class="c1">// access attributes</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">last_login</span><span class="p">(</span><span class="s1">'Y-m-d'</span><span class="p">);</span> <span class="c1">// access class methods</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -610,7 +610,7 @@ the method using your query result object:</p>
|
||||
Make sure to call the method using your query result object:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$query</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'SELECT * FROM my_table'</span><span class="p">);</span>
|
||||
|
||||
<span class="k">echo</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getFieldNames</span><span class="p">();</span>
|
||||
<span class="k">echo</span> <span class="nv">$query</span><span class="o">-></span><span class="na">getFieldNames</span><span class="p">();</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p><strong>getNumRows()</strong></p>
|
||||
@ -638,10 +638,10 @@ result has been generated in order to cut down on memory consumption.</p>
|
||||
|
||||
<span class="k">foreach</span> <span class="p">(</span><span class="nv">$query</span><span class="o">-></span><span class="na">getResult</span><span class="p">()</span> <span class="k">as</span> <span class="nv">$row</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="k">echo</span> <span class="nv">$row</span><span class="o">-></span><span class="na">title</span><span class="p">;</span>
|
||||
<span class="p">}</span>
|
||||
|
||||
<span class="nv">$query</span><span class="o">-></span><span class="na">freeResult</span><span class="p">();</span> <span class="c1">// The $query result object will no longer be available</span>
|
||||
<span class="nv">$query</span><span class="o">-></span><span class="na">freeResult</span><span class="p">();</span> <span class="c1">// The $query result object will no longer be available</span>
|
||||
|
||||
<span class="nv">$query2</span> <span class="o">=</span> <span class="nv">$db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'SELECT name FROM some_table'</span><span class="p">);</span>
|
||||
|
||||
@ -671,8 +671,7 @@ Most notably - you won’t be able to use it with PDO.</p>
|
||||
<dl class="class">
|
||||
<dt>
|
||||
<code class="sig-name descname">CodeIgniter\Database\BaseResult</code></dt>
|
||||
<dd><blockquote>
|
||||
<div><dl class="method">
|
||||
<dd><dl class="method">
|
||||
<dt id="getResult">
|
||||
<code class="sig-name descname">getResult</code><span class="sig-paren">(</span><span class="optional">[</span><em class="sig-param">$type = 'object'</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#getResult" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><dl class="field-list simple">
|
||||
@ -814,14 +813,12 @@ requested form.</p>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Parameters</dt>
|
||||
<dd class="field-odd"><ul class="simple">
|
||||
<li><p><strong>$n</strong> (<em>int</em>) – Index of the query results row to be returned</p></li>
|
||||
<li><p><strong>$n</strong> (<em>int</em>) – Index of the query results row to be returned
|
||||
:returns: The requested row or NULL if it doesn’t exist</p></li>
|
||||
</ul>
|
||||
</dd>
|
||||
<dt class="field-even">Returns</dt>
|
||||
<dd class="field-even"><p>The requested row or NULL if it doesn’t exist</p>
|
||||
</dd>
|
||||
<dt class="field-odd">Return type</dt>
|
||||
<dd class="field-odd"><p>stdClass</p>
|
||||
<dt class="field-even">Return type</dt>
|
||||
<dd class="field-even"><p>stdClass</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Returns the requested result row as an object of type
|
||||
@ -978,22 +975,21 @@ requested class.</p>
|
||||
<p>Usage: see <a class="reference internal" href="#result-helper-methods">Result Helper Methods</a>.</p>
|
||||
</dd></dl>
|
||||
|
||||
</div></blockquote>
|
||||
<dl class="method">
|
||||
<dt id="getFieldNames">
|
||||
<code class="sig-name descname">getFieldNames</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#getFieldNames" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><blockquote>
|
||||
<div><dl class="field-list simple">
|
||||
<dt class="field-odd">returns</dt>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Returns</dt>
|
||||
<dd class="field-odd"><p>Array of column names</p>
|
||||
</dd>
|
||||
<dt class="field-even">rtype</dt>
|
||||
<dt class="field-even">Return type</dt>
|
||||
<dd class="field-even"><p>array</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Returns an array containing the field names in the
|
||||
result set.</p>
|
||||
</div></blockquote>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="getFieldData">
|
||||
<code class="sig-name descname">getFieldData</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#getFieldData" title="Permalink to this definition">¶</a></dt>
|
||||
@ -1009,22 +1005,20 @@ result set.</p>
|
||||
field meta-data.</p>
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="getNumRows">
|
||||
<code class="sig-name descname">getNumRows</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#getNumRows" title="Permalink to this definition">¶</a></dt>
|
||||
<dd><blockquote>
|
||||
<div><dl class="field-list simple">
|
||||
<dt class="field-odd">returns</dt>
|
||||
<dd><dl class="field-list simple">
|
||||
<dt class="field-odd">Returns</dt>
|
||||
<dd class="field-odd"><p>Number of rows in result set</p>
|
||||
</dd>
|
||||
<dt class="field-even">rtype</dt>
|
||||
<dt class="field-even">Return type</dt>
|
||||
<dd class="field-even"><p>int</p>
|
||||
</dd>
|
||||
</dl>
|
||||
<p>Returns number of rows returned by the query</p>
|
||||
</div></blockquote>
|
||||
</dd></dl>
|
||||
|
||||
<dl class="method">
|
||||
<dt id="freeResult">
|
||||
<code class="sig-name descname">freeResult</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#freeResult" title="Permalink to this definition">¶</a></dt>
|
||||
@ -1039,8 +1033,6 @@ field meta-data.</p>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</dd></dl>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1060,7 +1052,7 @@ field meta-data.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -373,7 +373,7 @@ manually if you choose to, but there’s really no benefit).</p>
|
||||
<div class="section" id="running-transactions">
|
||||
<h2>Running Transactions<a class="headerlink" href="#running-transactions" title="Permalink to this headline">¶</a></h2>
|
||||
<p>To run your queries using transactions you will use the
|
||||
$this->db->transStart() and $this->db->transComplete() functions as
|
||||
<code class="docutils literal notranslate"><span class="pre">$this->db->transStart()</span></code> and <code class="docutils literal notranslate"><span class="pre">$this->db->transComplete()</span></code> functions as
|
||||
follows:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transStart</span><span class="p">();</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'AN SQL QUERY...'</span><span class="p">);</span>
|
||||
@ -410,7 +410,7 @@ debugging is turned off, you can manage your own errors like this:</p>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transStatus</span><span class="p">()</span> <span class="o">===</span> <span class="k">FALSE</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="c1">// generate an error... or use the log_message() function to log your error</span>
|
||||
<span class="c1">// generate an error... or use the log_message() function to log your error</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
@ -418,7 +418,7 @@ debugging is turned off, you can manage your own errors like this:</p>
|
||||
<div class="section" id="disabling-transactions">
|
||||
<h2>Disabling Transactions<a class="headerlink" href="#disabling-transactions" title="Permalink to this headline">¶</a></h2>
|
||||
<p>Transactions are enabled by default. If you would like to disable transactions you
|
||||
can do so using $this->db->transOff():</p>
|
||||
can do so using <code class="docutils literal notranslate"><span class="pre">$this->db->transOff()</span></code>:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transOff</span><span class="p">();</span>
|
||||
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transStart</span><span class="p">();</span>
|
||||
@ -434,7 +434,7 @@ as they are when running queries without transactions.</p>
|
||||
<p>You can optionally put the transaction system into “test mode”, which
|
||||
will cause your queries to be rolled back – even if the queries produce
|
||||
a valid result. To use test mode simply set the first parameter in the
|
||||
$this->db->transStart() function to TRUE:</p>
|
||||
<code class="docutils literal notranslate"><span class="pre">$this->db->transStart()</span></code> function to TRUE:</p>
|
||||
<div class="highlight-html+php notranslate"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transStart</span><span class="p">(</span><span class="k">true</span><span class="p">);</span> <span class="c1">// Query will be rolled back</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">query</span><span class="p">(</span><span class="s1">'AN SQL QUERY...'</span><span class="p">);</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transComplete</span><span class="p">();</span>
|
||||
@ -452,18 +452,18 @@ $this->db->transStart() function to TRUE:</p>
|
||||
|
||||
<span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transStatus</span><span class="p">()</span> <span class="o">===</span> <span class="k">FALSE</span><span class="p">)</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transRollback</span><span class="p">();</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transRollback</span><span class="p">();</span>
|
||||
<span class="p">}</span>
|
||||
<span class="k">else</span>
|
||||
<span class="p">{</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transCommit</span><span class="p">();</span>
|
||||
<span class="nv">$this</span><span class="o">-></span><span class="na">db</span><span class="o">-></span><span class="na">transCommit</span><span class="p">();</span>
|
||||
<span class="p">}</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<div class="admonition note">
|
||||
<p class="admonition-title">Note</p>
|
||||
<p>Make sure to use $this->db->transBegin() when running manual
|
||||
transactions, <strong>NOT</strong> $this->db->transStart().</p>
|
||||
<p>Make sure to use <code class="docutils literal notranslate"><span class="pre">$this->db->transBegin()</span></code> when running manual
|
||||
transactions, <strong>NOT</strong> <code class="docutils literal notranslate"><span class="pre">$this->db->transStart()</span></code>.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -484,7 +484,7 @@ transactions, <strong>NOT</strong> $this->db->transStart().</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -398,7 +398,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -950,7 +950,7 @@ change the name, you can add a “name” key into the field defining array.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -372,7 +372,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -791,7 +791,7 @@ have not yet been run, and runs them in order of their version (namespaces inter
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -493,7 +493,7 @@ seed file to <code class="docutils literal notranslate"><span class="pre">app/Bl
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -377,7 +377,7 @@ modules, projects, and the framework itself.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -421,7 +421,7 @@ Controller instead:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -377,7 +377,7 @@ attempting it.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -418,7 +418,7 @@ it a clearer target!</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -475,7 +475,7 @@ instead of the native ones (this is known as “method overriding”). This allo
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -470,7 +470,7 @@ When <strong>true</strong>, all events will be skipped over during the trigger m
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -375,7 +375,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -404,7 +404,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -422,7 +422,7 @@ have to expire normally.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -1110,7 +1110,7 @@ instance every time.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -647,7 +647,7 @@ described above, using methods named for each configuration class you wish to ex
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -455,7 +455,7 @@ more detail in the Handling Different Environments section of the
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -512,7 +512,7 @@ redirect code to use instead of the default (<code class="docutils literal notra
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -523,7 +523,7 @@ Browse each one to see what they do.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -379,7 +379,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -555,7 +555,7 @@ alias to your new class name.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -428,7 +428,7 @@ modify <code class="docutils literal notranslate"><span class="pre">spark</span>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -568,7 +568,7 @@ file follows the same directory structures as the main application directory.</p
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -429,7 +429,7 @@ settings of the root and alias directives), and then sends the request to the in
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -904,7 +904,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -556,7 +556,7 @@ each nesting level and handle it accordingly.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -467,7 +467,7 @@ parameters.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -444,7 +444,7 @@ module in CodeIgniter 4.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -710,7 +710,7 @@ cause an error to be triggered if the path cannot be resolved.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -1295,7 +1295,7 @@ class instead of the generic helper function.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -1080,7 +1080,7 @@ pulled from <cite>application/Config/DocTypes.php</cite>, or they could be over-
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -382,7 +382,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -642,7 +642,7 @@ Example:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -531,7 +531,7 @@ It will return null for any value outside that range .</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -453,7 +453,7 @@ It leaves the image URL as plain text.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -413,7 +413,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -1005,7 +1005,7 @@ at the end.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -956,7 +956,7 @@ any other applicable characters in the URL:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -425,7 +425,7 @@ character entities, e.g., &#123;. Example:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -481,7 +481,7 @@ specify the type of compression the client supports:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -767,7 +767,7 @@ the $rules array with the name of the group as defined in <code class="docutils
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -572,7 +572,7 @@ a list of URI patterns that filter should apply to:</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -956,7 +956,7 @@ as an array.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -378,7 +378,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -711,7 +711,7 @@ Acceptable values are <code class="docutils literal notranslate"><span class="pr
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -385,7 +385,7 @@ with the default configuration, and must have additional packages enabled to wor
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -598,7 +598,7 @@ Can optionally filter the input when you retrieve it by passing in a filter.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -717,7 +717,7 @@ and <cite>presenter()</cite> with their corresponding Controller functions.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -919,7 +919,7 @@ a valid class/method pair, just like you would show in any route, or a Closure:<
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -606,7 +606,7 @@
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -399,7 +399,7 @@ lines to enable “curl” and “intl”, for instance.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -526,7 +526,7 @@ they can be added to your project in a similar fashion.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -416,7 +416,7 @@ to the translations.</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -482,7 +482,7 @@ but which showcase it or make it easier to work with!</p>
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -580,7 +580,7 @@ paths align with the expected directory structure for your installation method.<
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
@ -428,7 +428,7 @@ It would be a good idea to check them if things aren’t working the way you exp
|
||||
<p>
|
||||
© Copyright 2019-2021 CodeIgniter Foundation.
|
||||
<span class="lastupdated">
|
||||
Last updated on Jan 23, 2021.
|
||||
Last updated on Jan 25, 2021.
|
||||
</span>
|
||||
|
||||
</p>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user