blob: ab5da97b0d7f4c2eb30a09dc40e33f8de188b100 [file] [log] [blame]
Andrey Andreevc5769952019-01-16 17:49:35 +02001
2
3<!DOCTYPE html>
4<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
5<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
6<head>
7 <meta charset="utf-8">
8 <meta name="viewport" content="width=device-width, initial-scale=1.0">
9
10 <title>Database Utility Class &mdash; CodeIgniter 3.1.10 documentation</title>
11
12
13
14
15 <link rel="shortcut icon" href="../_static/ci-icon.ico"/>
16
17
18
19 <link href='https://fonts.googleapis.com/css?family=Lato:400,700,400italic,700italic|Roboto+Slab:400,700|Inconsolata:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css'>
20
21
22
23
24
25
26
27
28
29 <link rel="stylesheet" href="../_static/css/citheme.css" type="text/css" />
30
31
32
33 <link rel="index" title="Index"
34 href="../genindex.html"/>
35 <link rel="search" title="Search" href="../search.html"/>
36 <link rel="top" title="CodeIgniter 3.1.10 documentation" href="../index.html"/>
37 <link rel="up" title="Database Reference" href="index.html"/>
38 <link rel="next" title="DB Driver Reference" href="db_driver_reference.html"/>
39 <link rel="prev" title="Database Forge Class" href="forge.html"/>
40
41
42 <script src="https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
43
44</head>
45
46<body class="wy-body-for-nav" role="document">
47
48 <div id="nav">
49 <div id="nav_inner">
50
51
52
53 <div id="pulldown-menu" class="ciNav">
54 <ul>
55<li class="toctree-l1"><a class="reference internal" href="../general/welcome.html">Welcome to CodeIgniter</a></li>
56</ul>
57<ul>
58<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation Instructions</a><ul>
59<li class="toctree-l2"><a class="reference internal" href="../installation/downloads.html">Downloading CodeIgniter</a></li>
60<li class="toctree-l2"><a class="reference internal" href="../installation/index.html">Installation Instructions</a></li>
61<li class="toctree-l2"><a class="reference internal" href="../installation/upgrading.html">Upgrading From a Previous Version</a></li>
62<li class="toctree-l2"><a class="reference internal" href="../installation/troubleshooting.html">Troubleshooting</a></li>
63</ul>
64</li>
65</ul>
66<ul>
67<li class="toctree-l1"><a class="reference internal" href="../overview/index.html">CodeIgniter Overview</a><ul>
68<li class="toctree-l2"><a class="reference internal" href="../overview/getting_started.html">Getting Started</a></li>
69<li class="toctree-l2"><a class="reference internal" href="../overview/at_a_glance.html">CodeIgniter at a Glance</a></li>
70<li class="toctree-l2"><a class="reference internal" href="../overview/features.html">Supported Features</a></li>
71<li class="toctree-l2"><a class="reference internal" href="../overview/appflow.html">Application Flow Chart</a></li>
72<li class="toctree-l2"><a class="reference internal" href="../overview/mvc.html">Model-View-Controller</a></li>
73<li class="toctree-l2"><a class="reference internal" href="../overview/goals.html">Architectural Goals</a></li>
74</ul>
75</li>
76</ul>
77<ul>
78<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a><ul>
79<li class="toctree-l2"><a class="reference internal" href="../tutorial/static_pages.html">Static pages</a></li>
80<li class="toctree-l2"><a class="reference internal" href="../tutorial/news_section.html">News section</a></li>
81<li class="toctree-l2"><a class="reference internal" href="../tutorial/create_news_items.html">Create news items</a></li>
82<li class="toctree-l2"><a class="reference internal" href="../tutorial/conclusion.html">Conclusion</a></li>
83</ul>
84</li>
85</ul>
86<ul>
87<li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing to CodeIgniter</a><ul>
88<li class="toctree-l2"><a class="reference internal" href="../documentation/index.html">Writing CodeIgniter Documentation</a></li>
89<li class="toctree-l2"><a class="reference internal" href="../DCO.html">Developer’s Certificate of Origin 1.1</a></li>
90</ul>
91</li>
92</ul>
93<ul>
94<li class="toctree-l1"><a class="reference internal" href="../general/index.html">General Topics</a><ul>
95<li class="toctree-l2"><a class="reference internal" href="../general/urls.html">CodeIgniter URLs</a></li>
96<li class="toctree-l2"><a class="reference internal" href="../general/controllers.html">Controllers</a></li>
97<li class="toctree-l2"><a class="reference internal" href="../general/reserved_names.html">Reserved Names</a></li>
98<li class="toctree-l2"><a class="reference internal" href="../general/views.html">Views</a></li>
99<li class="toctree-l2"><a class="reference internal" href="../general/models.html">Models</a></li>
100<li class="toctree-l2"><a class="reference internal" href="../general/helpers.html">Helpers</a></li>
101<li class="toctree-l2"><a class="reference internal" href="../general/libraries.html">Using CodeIgniter Libraries</a></li>
102<li class="toctree-l2"><a class="reference internal" href="../general/creating_libraries.html">Creating Libraries</a></li>
103<li class="toctree-l2"><a class="reference internal" href="../general/drivers.html">Using CodeIgniter Drivers</a></li>
104<li class="toctree-l2"><a class="reference internal" href="../general/creating_drivers.html">Creating Drivers</a></li>
105<li class="toctree-l2"><a class="reference internal" href="../general/core_classes.html">Creating Core System Classes</a></li>
106<li class="toctree-l2"><a class="reference internal" href="../general/ancillary_classes.html">Creating Ancillary Classes</a></li>
107<li class="toctree-l2"><a class="reference internal" href="../general/hooks.html">Hooks - Extending the Framework Core</a></li>
108<li class="toctree-l2"><a class="reference internal" href="../general/autoloader.html">Auto-loading Resources</a></li>
109<li class="toctree-l2"><a class="reference internal" href="../general/common_functions.html">Common Functions</a></li>
110<li class="toctree-l2"><a class="reference internal" href="../general/compatibility_functions.html">Compatibility Functions</a></li>
111<li class="toctree-l2"><a class="reference internal" href="../general/routing.html">URI Routing</a></li>
112<li class="toctree-l2"><a class="reference internal" href="../general/errors.html">Error Handling</a></li>
113<li class="toctree-l2"><a class="reference internal" href="../general/caching.html">Caching</a></li>
114<li class="toctree-l2"><a class="reference internal" href="../general/profiling.html">Profiling Your Application</a></li>
115<li class="toctree-l2"><a class="reference internal" href="../general/cli.html">Running via the CLI</a></li>
116<li class="toctree-l2"><a class="reference internal" href="../general/managing_apps.html">Managing your Applications</a></li>
117<li class="toctree-l2"><a class="reference internal" href="../general/environments.html">Handling Multiple Environments</a></li>
118<li class="toctree-l2"><a class="reference internal" href="../general/alternative_php.html">Alternate PHP Syntax for View Files</a></li>
119<li class="toctree-l2"><a class="reference internal" href="../general/security.html">Security</a></li>
120<li class="toctree-l2"><a class="reference internal" href="../general/styleguide.html">PHP Style Guide</a></li>
121</ul>
122</li>
123</ul>
124<ul>
125<li class="toctree-l1"><a class="reference internal" href="../libraries/index.html">Libraries</a><ul>
126<li class="toctree-l2"><a class="reference internal" href="../libraries/benchmark.html">Benchmarking Class</a></li>
127<li class="toctree-l2"><a class="reference internal" href="../libraries/caching.html">Caching Driver</a></li>
128<li class="toctree-l2"><a class="reference internal" href="../libraries/calendar.html">Calendaring Class</a></li>
129<li class="toctree-l2"><a class="reference internal" href="../libraries/cart.html">Shopping Cart Class</a></li>
130<li class="toctree-l2"><a class="reference internal" href="../libraries/config.html">Config Class</a></li>
131<li class="toctree-l2"><a class="reference internal" href="../libraries/email.html">Email Class</a></li>
132<li class="toctree-l2"><a class="reference internal" href="../libraries/encrypt.html">Encrypt Class</a></li>
133<li class="toctree-l2"><a class="reference internal" href="../libraries/encryption.html">Encryption Library</a></li>
134<li class="toctree-l2"><a class="reference internal" href="../libraries/file_uploading.html">File Uploading Class</a></li>
135<li class="toctree-l2"><a class="reference internal" href="../libraries/form_validation.html">Form Validation</a></li>
136<li class="toctree-l2"><a class="reference internal" href="../libraries/ftp.html">FTP Class</a></li>
137<li class="toctree-l2"><a class="reference internal" href="../libraries/image_lib.html">Image Manipulation Class</a></li>
138<li class="toctree-l2"><a class="reference internal" href="../libraries/input.html">Input Class</a></li>
139<li class="toctree-l2"><a class="reference internal" href="../libraries/javascript.html">Javascript Class</a></li>
140<li class="toctree-l2"><a class="reference internal" href="../libraries/language.html">Language Class</a></li>
141<li class="toctree-l2"><a class="reference internal" href="../libraries/loader.html">Loader Class</a></li>
142<li class="toctree-l2"><a class="reference internal" href="../libraries/migration.html">Migrations Class</a></li>
143<li class="toctree-l2"><a class="reference internal" href="../libraries/output.html">Output Class</a></li>
144<li class="toctree-l2"><a class="reference internal" href="../libraries/pagination.html">Pagination Class</a></li>
145<li class="toctree-l2"><a class="reference internal" href="../libraries/parser.html">Template Parser Class</a></li>
146<li class="toctree-l2"><a class="reference internal" href="../libraries/security.html">Security Class</a></li>
147<li class="toctree-l2"><a class="reference internal" href="../libraries/sessions.html">Session Library</a></li>
148<li class="toctree-l2"><a class="reference internal" href="../libraries/table.html">HTML Table Class</a></li>
149<li class="toctree-l2"><a class="reference internal" href="../libraries/trackback.html">Trackback Class</a></li>
150<li class="toctree-l2"><a class="reference internal" href="../libraries/typography.html">Typography Class</a></li>
151<li class="toctree-l2"><a class="reference internal" href="../libraries/unit_testing.html">Unit Testing Class</a></li>
152<li class="toctree-l2"><a class="reference internal" href="../libraries/uri.html">URI Class</a></li>
153<li class="toctree-l2"><a class="reference internal" href="../libraries/user_agent.html">User Agent Class</a></li>
154<li class="toctree-l2"><a class="reference internal" href="../libraries/xmlrpc.html">XML-RPC and XML-RPC Server Classes</a></li>
155<li class="toctree-l2"><a class="reference internal" href="../libraries/zip.html">Zip Encoding Class</a></li>
156</ul>
157</li>
158</ul>
159<ul class="current">
160<li class="toctree-l1 current"><a class="reference internal" href="index.html">Database Reference</a><ul class="current">
161<li class="toctree-l2"><a class="reference internal" href="examples.html">Quick Start: Usage Examples</a></li>
162<li class="toctree-l2"><a class="reference internal" href="configuration.html">Database Configuration</a></li>
163<li class="toctree-l2"><a class="reference internal" href="connecting.html">Connecting to a Database</a></li>
164<li class="toctree-l2"><a class="reference internal" href="queries.html">Running Queries</a></li>
165<li class="toctree-l2"><a class="reference internal" href="results.html">Generating Query Results</a></li>
166<li class="toctree-l2"><a class="reference internal" href="helpers.html">Query Helper Functions</a></li>
167<li class="toctree-l2"><a class="reference internal" href="query_builder.html">Query Builder Class</a></li>
168<li class="toctree-l2"><a class="reference internal" href="transactions.html">Transactions</a></li>
169<li class="toctree-l2"><a class="reference internal" href="metadata.html">Getting MetaData</a></li>
170<li class="toctree-l2"><a class="reference internal" href="call_function.html">Custom Function Calls</a></li>
171<li class="toctree-l2"><a class="reference internal" href="caching.html">Query Caching</a></li>
172<li class="toctree-l2"><a class="reference internal" href="forge.html">Database Manipulation with Database Forge</a></li>
173<li class="toctree-l2 current"><a class="current reference internal" href="#">Database Utilities Class</a></li>
174<li class="toctree-l2"><a class="reference internal" href="db_driver_reference.html">Database Driver Reference</a></li>
175</ul>
176</li>
177</ul>
178<ul>
179<li class="toctree-l1"><a class="reference internal" href="../helpers/index.html">Helpers</a><ul>
180<li class="toctree-l2"><a class="reference internal" href="../helpers/array_helper.html">Array Helper</a></li>
181<li class="toctree-l2"><a class="reference internal" href="../helpers/captcha_helper.html">CAPTCHA Helper</a></li>
182<li class="toctree-l2"><a class="reference internal" href="../helpers/cookie_helper.html">Cookie Helper</a></li>
183<li class="toctree-l2"><a class="reference internal" href="../helpers/date_helper.html">Date Helper</a></li>
184<li class="toctree-l2"><a class="reference internal" href="../helpers/directory_helper.html">Directory Helper</a></li>
185<li class="toctree-l2"><a class="reference internal" href="../helpers/download_helper.html">Download Helper</a></li>
186<li class="toctree-l2"><a class="reference internal" href="../helpers/email_helper.html">Email Helper</a></li>
187<li class="toctree-l2"><a class="reference internal" href="../helpers/file_helper.html">File Helper</a></li>
188<li class="toctree-l2"><a class="reference internal" href="../helpers/form_helper.html">Form Helper</a></li>
189<li class="toctree-l2"><a class="reference internal" href="../helpers/html_helper.html">HTML Helper</a></li>
190<li class="toctree-l2"><a class="reference internal" href="../helpers/inflector_helper.html">Inflector Helper</a></li>
191<li class="toctree-l2"><a class="reference internal" href="../helpers/language_helper.html">Language Helper</a></li>
192<li class="toctree-l2"><a class="reference internal" href="../helpers/number_helper.html">Number Helper</a></li>
193<li class="toctree-l2"><a class="reference internal" href="../helpers/path_helper.html">Path Helper</a></li>
194<li class="toctree-l2"><a class="reference internal" href="../helpers/security_helper.html">Security Helper</a></li>
195<li class="toctree-l2"><a class="reference internal" href="../helpers/smiley_helper.html">Smiley Helper</a></li>
196<li class="toctree-l2"><a class="reference internal" href="../helpers/string_helper.html">String Helper</a></li>
197<li class="toctree-l2"><a class="reference internal" href="../helpers/text_helper.html">Text Helper</a></li>
198<li class="toctree-l2"><a class="reference internal" href="../helpers/typography_helper.html">Typography Helper</a></li>
199<li class="toctree-l2"><a class="reference internal" href="../helpers/url_helper.html">URL Helper</a></li>
200<li class="toctree-l2"><a class="reference internal" href="../helpers/xml_helper.html">XML Helper</a></li>
201</ul>
202</li>
203</ul>
204
205 </div>
206
207
208 </div>
209</div>
210<div id="nav2">
211 <a href="#" id="openToc">
212 <img src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAgAAZABkAAD/7AARRHVja3kAAQAEAAAARgAA/+4ADkFkb2JlAGTAAAAAAf/bAIQABAMDAwMDBAMDBAYEAwQGBwUEBAUHCAYGBwYGCAoICQkJCQgKCgwMDAwMCgwMDQ0MDBERERERFBQUFBQUFBQUFAEEBQUIBwgPCgoPFA4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQU/8AAEQgAKwCaAwERAAIRAQMRAf/EAHsAAQAABwEBAAAAAAAAAAAAAAABAwQFBgcIAgkBAQAAAAAAAAAAAAAAAAAAAAAQAAEDAwICBwYEAgsAAAAAAAIBAwQAEQUSBiEHkROTVNQWGDFBUVIUCHEiMtOUFWGBobHRQlMkZIRVEQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIRAxEAPwDSC+ygkOOaUoKigUCgUCgUCgUCgUCgUCgUCgkuGguIP9FBMFb0Hqg7We+3jlmIqqYFf4ub+/QYlnOR/LqIBKGFUbf8qWv971BytQXXE7Y3Lnm3HsFhp2TaZJAdchRXpIgSpdEJWxJEW3xoKV7F5OMy7JkQn2o7D6w33XGjEAkoiqrJEqIiOIiKuhePCgqp22dyYyS3CyWHnQ5joG61HkRnmnTbaFSMhExRVQRRVJU9iUHjE7ez+fJ0MFipmUNhBV8YUd2SoIV9KkjQla9ltegttBdPLW4/qocL+UTfrMiHW4+P9M71shuyrqaHTcxsl7jegpsji8nh5ZwMvDfgTm0RTjSmjYdFCS6KoOIipdFunCgmNYTMv457MMY6U7iI6oMieDDhRm1VbIhuoOkbqtuK0Hpzb+eZcYZexUxt6UyUqK2cd0SdjtgrhOgijcgERUlJOCIl6CpgbP3blRI8XgMjNARAyKNDfeRBdFDBVUAXgQrqH4pxoJTu2NysY97LP4ac1io5q1InHFeGO24LnVKJuKOkSQ/yKir+rh7aCLG1dzypZQI2FnvTgccYOM3FeN0XWERXAUEFVQgQkUktdLpegm+Td3/Xli/L+S/mYNJIOF9G/wBeLKrZHFb0akG6W1WtQWSg3Dyg5e7V3fipE3O4/wCrktyzYA+ufas2LbZIlmnAT2kvuoN1wft95augilglX/tzP3qCu9O3LL/wV/i5v79BvmTADq14UGu91467Z6U9y0HzH/ncj/U/sT/CgynZG7I2NezpZGUjIycJkYkZSG+uQ81pbBNKLxJfjwoMqZ3/ALYHl35AJ7/cuwHcu5k7r1Q5pHetBjquqVVJWGxj9Zrtcl/Ggy3dHMvauR3HFZj5nHNxSyW5JISYDMoIwx8tFIGHZhPNaykGapr6rUAiicEoMG21lMRj8buPAz8xhJrr7uOeiPTCyAwXUaGR1mgozbTusOsFLEiJ7fbQa/h7gcjy2H3V6xppwDNtUSxCJIqp7valBuWVzJ22xuCROXNNZiJkMtms0DbjUkAZjzoDrTMd9dDRI44ZC2YsrYdKWP2WDT2S3N9dNdlRYrGMYc06IURXSYb0igrpWS485xVNS6nF4rwslkoMwnbpgZLB7bmt5uMweAhDEl4B5uSLzzqTnnyVpW2jaJHRMSIjdDiiotvy3DOE5rYTEbkl5yFn28k7JyG4c7AU2HtLH1uKfaiMPI40CdYbpNtmLdwTSn5rewLNld+7TLdeal4WarWBkbVKBjgdElMJJwAAY5fl4kB3b1fp4XvagsGS3FjJfLzDNtS8aeXx7LzT7TyzByQE5PccRGRC0ZRUDRV6y62vbjagzLmJzS2vuPK43JY6aP1TW6Jz+RIWyFtyC06y3EkiiinAo7YCqfq1AqqnGgsOH3lhZO8d1pmcpB8j5XIm9OYlBJSQ/FSS4427DKO0RC8AlcEMhFdViRR1WDWR5t3WXVuL1d106kG9vdeye2g60+1FDyW0shIcXVpyroXt8I8dfd+NB1vioAdWnD3UF1+gD4UFc6CEKpagxXN43rwJLUHz7yX2c8zokt9uHlsPIhA4aRnnHJTLptIS6CNsY7iASpxUUMkReGpfbQW0vtN5pitvrsN28rwtBD0nc0+/Yft5XhaB6TuaXfsP28rwtA9J3NPv2H7eV4Wgek7mn37D9vK8LQPSdzT79h+3leFoHpO5pd+w/byvC0D0nc0u/Yft5XhaB6TuaXfsP28rwtA9J3NLv2H7eV4Wgek7ml37D9vK8LQPSdzS79h+3leFoHpO5p9+w/byvC0E9r7Reazy2HIYVPxkS/CUHVn26cosxyv2g7h89LYmZSXOenvLEQ1YaQ222RATcQCP8rSGqqA8S02W2pQ6FhMoAIlqCtsnwoCpdKClejI4i3Sgtb+GBxVuNBSFt1pV/RQefLjPyUDy4z8lA8uM/JQPLjPyUDy4z8lA8uM/JQPLjPyUDy4z8lA8uM/JQPLjPyUDy4z8lA8utJ/koJ7WCbBU/LQXOPAFq1koK8B0pag90CggtBBf6qB0UDooHRQOigdFA6KB0UDooHRQOigdFA6KB0UDooI0EaBQf//Z" title="Toggle Table of Contents" alt="Toggle Table of Contents" />
213 </a>
214</div>
215
216 <div class="wy-grid-for-nav">
217
218
219 <nav data-toggle="wy-nav-shift" class="wy-nav-side">
220 <div class="wy-side-nav-search">
221
222 <a href="../index.html" class="fa fa-home"> CodeIgniter</a>
223
224
225<div role="search">
226 <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
227 <input type="text" name="q" placeholder="Search docs" />
228 <input type="hidden" name="check_keywords" value="yes" />
229 <input type="hidden" name="area" value="default" />
230 </form>
231</div>
232 </div>
233
234 <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
235
236
237
238 <ul>
239<li class="toctree-l1"><a class="reference internal" href="../general/welcome.html">Welcome to CodeIgniter</a></li>
240</ul>
241<ul>
242<li class="toctree-l1"><a class="reference internal" href="../installation/index.html">Installation Instructions</a><ul>
243<li class="toctree-l2"><a class="reference internal" href="../installation/downloads.html">Downloading CodeIgniter</a></li>
244<li class="toctree-l2"><a class="reference internal" href="../installation/index.html">Installation Instructions</a></li>
245<li class="toctree-l2"><a class="reference internal" href="../installation/upgrading.html">Upgrading From a Previous Version</a></li>
246<li class="toctree-l2"><a class="reference internal" href="../installation/troubleshooting.html">Troubleshooting</a></li>
247</ul>
248</li>
249</ul>
250<ul>
251<li class="toctree-l1"><a class="reference internal" href="../overview/index.html">CodeIgniter Overview</a><ul>
252<li class="toctree-l2"><a class="reference internal" href="../overview/getting_started.html">Getting Started</a></li>
253<li class="toctree-l2"><a class="reference internal" href="../overview/at_a_glance.html">CodeIgniter at a Glance</a></li>
254<li class="toctree-l2"><a class="reference internal" href="../overview/features.html">Supported Features</a></li>
255<li class="toctree-l2"><a class="reference internal" href="../overview/appflow.html">Application Flow Chart</a></li>
256<li class="toctree-l2"><a class="reference internal" href="../overview/mvc.html">Model-View-Controller</a></li>
257<li class="toctree-l2"><a class="reference internal" href="../overview/goals.html">Architectural Goals</a></li>
258</ul>
259</li>
260</ul>
261<ul>
262<li class="toctree-l1"><a class="reference internal" href="../tutorial/index.html">Tutorial</a><ul>
263<li class="toctree-l2"><a class="reference internal" href="../tutorial/static_pages.html">Static pages</a></li>
264<li class="toctree-l2"><a class="reference internal" href="../tutorial/news_section.html">News section</a></li>
265<li class="toctree-l2"><a class="reference internal" href="../tutorial/create_news_items.html">Create news items</a></li>
266<li class="toctree-l2"><a class="reference internal" href="../tutorial/conclusion.html">Conclusion</a></li>
267</ul>
268</li>
269</ul>
270<ul>
271<li class="toctree-l1"><a class="reference internal" href="../contributing/index.html">Contributing to CodeIgniter</a><ul>
272<li class="toctree-l2"><a class="reference internal" href="../documentation/index.html">Writing CodeIgniter Documentation</a></li>
273<li class="toctree-l2"><a class="reference internal" href="../DCO.html">Developer’s Certificate of Origin 1.1</a></li>
274</ul>
275</li>
276</ul>
277<ul>
278<li class="toctree-l1"><a class="reference internal" href="../general/index.html">General Topics</a><ul>
279<li class="toctree-l2"><a class="reference internal" href="../general/urls.html">CodeIgniter URLs</a></li>
280<li class="toctree-l2"><a class="reference internal" href="../general/controllers.html">Controllers</a></li>
281<li class="toctree-l2"><a class="reference internal" href="../general/reserved_names.html">Reserved Names</a></li>
282<li class="toctree-l2"><a class="reference internal" href="../general/views.html">Views</a></li>
283<li class="toctree-l2"><a class="reference internal" href="../general/models.html">Models</a></li>
284<li class="toctree-l2"><a class="reference internal" href="../general/helpers.html">Helpers</a></li>
285<li class="toctree-l2"><a class="reference internal" href="../general/libraries.html">Using CodeIgniter Libraries</a></li>
286<li class="toctree-l2"><a class="reference internal" href="../general/creating_libraries.html">Creating Libraries</a></li>
287<li class="toctree-l2"><a class="reference internal" href="../general/drivers.html">Using CodeIgniter Drivers</a></li>
288<li class="toctree-l2"><a class="reference internal" href="../general/creating_drivers.html">Creating Drivers</a></li>
289<li class="toctree-l2"><a class="reference internal" href="../general/core_classes.html">Creating Core System Classes</a></li>
290<li class="toctree-l2"><a class="reference internal" href="../general/ancillary_classes.html">Creating Ancillary Classes</a></li>
291<li class="toctree-l2"><a class="reference internal" href="../general/hooks.html">Hooks - Extending the Framework Core</a></li>
292<li class="toctree-l2"><a class="reference internal" href="../general/autoloader.html">Auto-loading Resources</a></li>
293<li class="toctree-l2"><a class="reference internal" href="../general/common_functions.html">Common Functions</a></li>
294<li class="toctree-l2"><a class="reference internal" href="../general/compatibility_functions.html">Compatibility Functions</a></li>
295<li class="toctree-l2"><a class="reference internal" href="../general/routing.html">URI Routing</a></li>
296<li class="toctree-l2"><a class="reference internal" href="../general/errors.html">Error Handling</a></li>
297<li class="toctree-l2"><a class="reference internal" href="../general/caching.html">Caching</a></li>
298<li class="toctree-l2"><a class="reference internal" href="../general/profiling.html">Profiling Your Application</a></li>
299<li class="toctree-l2"><a class="reference internal" href="../general/cli.html">Running via the CLI</a></li>
300<li class="toctree-l2"><a class="reference internal" href="../general/managing_apps.html">Managing your Applications</a></li>
301<li class="toctree-l2"><a class="reference internal" href="../general/environments.html">Handling Multiple Environments</a></li>
302<li class="toctree-l2"><a class="reference internal" href="../general/alternative_php.html">Alternate PHP Syntax for View Files</a></li>
303<li class="toctree-l2"><a class="reference internal" href="../general/security.html">Security</a></li>
304<li class="toctree-l2"><a class="reference internal" href="../general/styleguide.html">PHP Style Guide</a></li>
305</ul>
306</li>
307</ul>
308<ul>
309<li class="toctree-l1"><a class="reference internal" href="../libraries/index.html">Libraries</a><ul>
310<li class="toctree-l2"><a class="reference internal" href="../libraries/benchmark.html">Benchmarking Class</a></li>
311<li class="toctree-l2"><a class="reference internal" href="../libraries/caching.html">Caching Driver</a></li>
312<li class="toctree-l2"><a class="reference internal" href="../libraries/calendar.html">Calendaring Class</a></li>
313<li class="toctree-l2"><a class="reference internal" href="../libraries/cart.html">Shopping Cart Class</a></li>
314<li class="toctree-l2"><a class="reference internal" href="../libraries/config.html">Config Class</a></li>
315<li class="toctree-l2"><a class="reference internal" href="../libraries/email.html">Email Class</a></li>
316<li class="toctree-l2"><a class="reference internal" href="../libraries/encrypt.html">Encrypt Class</a></li>
317<li class="toctree-l2"><a class="reference internal" href="../libraries/encryption.html">Encryption Library</a></li>
318<li class="toctree-l2"><a class="reference internal" href="../libraries/file_uploading.html">File Uploading Class</a></li>
319<li class="toctree-l2"><a class="reference internal" href="../libraries/form_validation.html">Form Validation</a></li>
320<li class="toctree-l2"><a class="reference internal" href="../libraries/ftp.html">FTP Class</a></li>
321<li class="toctree-l2"><a class="reference internal" href="../libraries/image_lib.html">Image Manipulation Class</a></li>
322<li class="toctree-l2"><a class="reference internal" href="../libraries/input.html">Input Class</a></li>
323<li class="toctree-l2"><a class="reference internal" href="../libraries/javascript.html">Javascript Class</a></li>
324<li class="toctree-l2"><a class="reference internal" href="../libraries/language.html">Language Class</a></li>
325<li class="toctree-l2"><a class="reference internal" href="../libraries/loader.html">Loader Class</a></li>
326<li class="toctree-l2"><a class="reference internal" href="../libraries/migration.html">Migrations Class</a></li>
327<li class="toctree-l2"><a class="reference internal" href="../libraries/output.html">Output Class</a></li>
328<li class="toctree-l2"><a class="reference internal" href="../libraries/pagination.html">Pagination Class</a></li>
329<li class="toctree-l2"><a class="reference internal" href="../libraries/parser.html">Template Parser Class</a></li>
330<li class="toctree-l2"><a class="reference internal" href="../libraries/security.html">Security Class</a></li>
331<li class="toctree-l2"><a class="reference internal" href="../libraries/sessions.html">Session Library</a></li>
332<li class="toctree-l2"><a class="reference internal" href="../libraries/table.html">HTML Table Class</a></li>
333<li class="toctree-l2"><a class="reference internal" href="../libraries/trackback.html">Trackback Class</a></li>
334<li class="toctree-l2"><a class="reference internal" href="../libraries/typography.html">Typography Class</a></li>
335<li class="toctree-l2"><a class="reference internal" href="../libraries/unit_testing.html">Unit Testing Class</a></li>
336<li class="toctree-l2"><a class="reference internal" href="../libraries/uri.html">URI Class</a></li>
337<li class="toctree-l2"><a class="reference internal" href="../libraries/user_agent.html">User Agent Class</a></li>
338<li class="toctree-l2"><a class="reference internal" href="../libraries/xmlrpc.html">XML-RPC and XML-RPC Server Classes</a></li>
339<li class="toctree-l2"><a class="reference internal" href="../libraries/zip.html">Zip Encoding Class</a></li>
340</ul>
341</li>
342</ul>
343<ul class="current">
344<li class="toctree-l1 current"><a class="reference internal" href="index.html">Database Reference</a><ul class="current">
345<li class="toctree-l2"><a class="reference internal" href="examples.html">Quick Start: Usage Examples</a></li>
346<li class="toctree-l2"><a class="reference internal" href="configuration.html">Database Configuration</a></li>
347<li class="toctree-l2"><a class="reference internal" href="connecting.html">Connecting to a Database</a></li>
348<li class="toctree-l2"><a class="reference internal" href="queries.html">Running Queries</a></li>
349<li class="toctree-l2"><a class="reference internal" href="results.html">Generating Query Results</a></li>
350<li class="toctree-l2"><a class="reference internal" href="helpers.html">Query Helper Functions</a></li>
351<li class="toctree-l2"><a class="reference internal" href="query_builder.html">Query Builder Class</a></li>
352<li class="toctree-l2"><a class="reference internal" href="transactions.html">Transactions</a></li>
353<li class="toctree-l2"><a class="reference internal" href="metadata.html">Getting MetaData</a></li>
354<li class="toctree-l2"><a class="reference internal" href="call_function.html">Custom Function Calls</a></li>
355<li class="toctree-l2"><a class="reference internal" href="caching.html">Query Caching</a></li>
356<li class="toctree-l2"><a class="reference internal" href="forge.html">Database Manipulation with Database Forge</a></li>
357<li class="toctree-l2 current"><a class="current reference internal" href="#">Database Utilities Class</a></li>
358<li class="toctree-l2"><a class="reference internal" href="db_driver_reference.html">Database Driver Reference</a></li>
359</ul>
360</li>
361</ul>
362<ul>
363<li class="toctree-l1"><a class="reference internal" href="../helpers/index.html">Helpers</a><ul>
364<li class="toctree-l2"><a class="reference internal" href="../helpers/array_helper.html">Array Helper</a></li>
365<li class="toctree-l2"><a class="reference internal" href="../helpers/captcha_helper.html">CAPTCHA Helper</a></li>
366<li class="toctree-l2"><a class="reference internal" href="../helpers/cookie_helper.html">Cookie Helper</a></li>
367<li class="toctree-l2"><a class="reference internal" href="../helpers/date_helper.html">Date Helper</a></li>
368<li class="toctree-l2"><a class="reference internal" href="../helpers/directory_helper.html">Directory Helper</a></li>
369<li class="toctree-l2"><a class="reference internal" href="../helpers/download_helper.html">Download Helper</a></li>
370<li class="toctree-l2"><a class="reference internal" href="../helpers/email_helper.html">Email Helper</a></li>
371<li class="toctree-l2"><a class="reference internal" href="../helpers/file_helper.html">File Helper</a></li>
372<li class="toctree-l2"><a class="reference internal" href="../helpers/form_helper.html">Form Helper</a></li>
373<li class="toctree-l2"><a class="reference internal" href="../helpers/html_helper.html">HTML Helper</a></li>
374<li class="toctree-l2"><a class="reference internal" href="../helpers/inflector_helper.html">Inflector Helper</a></li>
375<li class="toctree-l2"><a class="reference internal" href="../helpers/language_helper.html">Language Helper</a></li>
376<li class="toctree-l2"><a class="reference internal" href="../helpers/number_helper.html">Number Helper</a></li>
377<li class="toctree-l2"><a class="reference internal" href="../helpers/path_helper.html">Path Helper</a></li>
378<li class="toctree-l2"><a class="reference internal" href="../helpers/security_helper.html">Security Helper</a></li>
379<li class="toctree-l2"><a class="reference internal" href="../helpers/smiley_helper.html">Smiley Helper</a></li>
380<li class="toctree-l2"><a class="reference internal" href="../helpers/string_helper.html">String Helper</a></li>
381<li class="toctree-l2"><a class="reference internal" href="../helpers/text_helper.html">Text Helper</a></li>
382<li class="toctree-l2"><a class="reference internal" href="../helpers/typography_helper.html">Typography Helper</a></li>
383<li class="toctree-l2"><a class="reference internal" href="../helpers/url_helper.html">URL Helper</a></li>
384<li class="toctree-l2"><a class="reference internal" href="../helpers/xml_helper.html">XML Helper</a></li>
385</ul>
386</li>
387</ul>
388
389
390
391 </div>
392 &nbsp;
393 </nav>
394
395 <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
396
397
398 <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
399 <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
400 <a href="../index.html">CodeIgniter</a>
401 </nav>
402
403
404
405 <div class="wy-nav-content">
406 <div class="rst-content">
407 <div role="navigation" aria-label="breadcrumbs navigation">
408 <ul class="wy-breadcrumbs">
409 <li><a href="../index.html">Docs</a> &raquo;</li>
410
411 <li><a href="index.html">Database Reference</a> &raquo;</li>
412
413 <li>Database Utility Class</li>
414 <li class="wy-breadcrumbs-aside">
415
416 </li>
417 <div style="float:right;margin-left:5px;" id="closeMe">
418 <img title="Classic Layout" alt="classic layout" src="data:image/gif;base64,R0lGODlhFAAUAJEAAAAAADMzM////wAAACH5BAUUAAIALAAAAAAUABQAAAImlI+py+0PU5gRBRDM3DxbWoXis42X13USOLauUIqnlsaH/eY6UwAAOw==" />
419 </div>
420 </ul>
421 <hr/>
422</div>
423 <div role="main" class="document">
424
425 <div class="section" id="database-utility-class">
426<h1>Database Utility Class<a class="headerlink" href="#database-utility-class" title="Permalink to this headline"></a></h1>
427<p>The Database Utility Class contains methods that help you manage your
428database.</p>
429<div class="contents local topic" id="contents">
430<ul class="simple">
431<li><a class="reference internal" href="#initializing-the-utility-class" id="id1">Initializing the Utility Class</a></li>
432<li><a class="reference internal" href="#using-the-database-utilities" id="id2">Using the Database Utilities</a><ul>
433<li><a class="reference internal" href="#retrieve-list-of-database-names" id="id3">Retrieve list of database names</a></li>
434<li><a class="reference internal" href="#determine-if-a-database-exists" id="id4">Determine If a Database Exists</a></li>
435<li><a class="reference internal" href="#optimize-a-table" id="id5">Optimize a Table</a></li>
436<li><a class="reference internal" href="#repair-a-table" id="id6">Repair a Table</a></li>
437<li><a class="reference internal" href="#optimize-a-database" id="id7">Optimize a Database</a></li>
438<li><a class="reference internal" href="#export-a-query-result-as-a-csv-file" id="id8">Export a Query Result as a CSV File</a></li>
439<li><a class="reference internal" href="#export-a-query-result-as-an-xml-document" id="id9">Export a Query Result as an XML Document</a></li>
440</ul>
441</li>
442<li><a class="reference internal" href="#backup-your-database" id="id10">Backup Your Database</a><ul>
443<li><a class="reference internal" href="#database-backup-notes" id="id11">Database Backup Notes</a></li>
444<li><a class="reference internal" href="#usage-example" id="id12">Usage Example</a></li>
445<li><a class="reference internal" href="#setting-backup-preferences" id="id13">Setting Backup Preferences</a></li>
446<li><a class="reference internal" href="#description-of-backup-preferences" id="id14">Description of Backup Preferences</a></li>
447</ul>
448</li>
449<li><a class="reference internal" href="#class-reference" id="id15">Class Reference</a></li>
450</ul>
451</div>
452<div class="section" id="initializing-the-utility-class">
453<h2><a class="toc-backref" href="#id1">Initializing the Utility Class</a><a class="headerlink" href="#initializing-the-utility-class" title="Permalink to this headline"></a></h2>
454<div class="admonition important">
455<p class="first admonition-title">Important</p>
456<p class="last">In order to initialize the Utility class, your database
457driver must already be running, since the utilities class relies on it.</p>
458</div>
459<p>Load the Utility Class as follows:</p>
460<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="p">();</span>
461</pre></div>
462</div>
463<p>You can also pass another database object to the DB Utility loader, in case
464the database you want to manage isn’t the default one:</p>
465<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">myutil</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="p">(</span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">other_db</span><span class="p">,</span> <span class="k">TRUE</span><span class="p">);</span>
466</pre></div>
467</div>
468<p>In the above example, we’re passing a custom database object as the first
469parameter and then tell it to return the dbutil object, instead of
470assigning it directly to <code class="docutils literal"><span class="pre">$this-&gt;dbutil</span></code>.</p>
471<div class="admonition note">
472<p class="first admonition-title">Note</p>
473<p class="last">Both of the parameters can be used individually, just pass an empty
474value as the first one if you wish to skip it.</p>
475</div>
476<p>Once initialized you will access the methods using the <code class="docutils literal"><span class="pre">$this-&gt;dbutil</span></code>
477object:</p>
478<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">some_method</span><span class="p">();</span>
479</pre></div>
480</div>
481</div>
482<div class="section" id="using-the-database-utilities">
483<h2><a class="toc-backref" href="#id2">Using the Database Utilities</a><a class="headerlink" href="#using-the-database-utilities" title="Permalink to this headline"></a></h2>
484<div class="section" id="retrieve-list-of-database-names">
485<h3><a class="toc-backref" href="#id3">Retrieve list of database names</a><a class="headerlink" href="#retrieve-list-of-database-names" title="Permalink to this headline"></a></h3>
486<p>Returns an array of database names:</p>
487<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$dbs</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">list_databases</span><span class="p">();</span>
488
489<span class="k">foreach</span> <span class="p">(</span><span class="nv">$dbs</span> <span class="k">as</span> <span class="nv">$db</span><span class="p">)</span>
490<span class="p">{</span>
491 <span class="k">echo</span> <span class="nv">$db</span><span class="p">;</span>
492<span class="p">}</span>
493</pre></div>
494</div>
495</div>
496<div class="section" id="determine-if-a-database-exists">
497<h3><a class="toc-backref" href="#id4">Determine If a Database Exists</a><a class="headerlink" href="#determine-if-a-database-exists" title="Permalink to this headline"></a></h3>
498<p>Sometimes it’s helpful to know whether a particular database exists.
499Returns a boolean TRUE/FALSE. Usage example:</p>
500<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">database_exists</span><span class="p">(</span><span class="s1">&#39;database_name&#39;</span><span class="p">))</span>
501<span class="p">{</span>
502 <span class="c1">// some code...</span>
503<span class="p">}</span>
504</pre></div>
505</div>
506<div class="admonition note">
507<p class="first admonition-title">Note</p>
508<p class="last">Replace <em>database_name</em> with the name of the database you are
509looking for. This method is case sensitive.</p>
510</div>
511</div>
512<div class="section" id="optimize-a-table">
513<h3><a class="toc-backref" href="#id5">Optimize a Table</a><a class="headerlink" href="#optimize-a-table" title="Permalink to this headline"></a></h3>
514<p>Permits you to optimize a table using the table name specified in the
515first parameter. Returns TRUE/FALSE based on success or failure:</p>
516<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">optimize_table</span><span class="p">(</span><span class="s1">&#39;table_name&#39;</span><span class="p">))</span>
517<span class="p">{</span>
518 <span class="k">echo</span> <span class="s1">&#39;Success!&#39;</span><span class="p">;</span>
519<span class="p">}</span>
520</pre></div>
521</div>
522<div class="admonition note">
523<p class="first admonition-title">Note</p>
524<p class="last">Not all database platforms support table optimization. It is
525mostly for use with MySQL.</p>
526</div>
527</div>
528<div class="section" id="repair-a-table">
529<h3><a class="toc-backref" href="#id6">Repair a Table</a><a class="headerlink" href="#repair-a-table" title="Permalink to this headline"></a></h3>
530<p>Permits you to repair a table using the table name specified in the
531first parameter. Returns TRUE/FALSE based on success or failure:</p>
532<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="k">if</span> <span class="p">(</span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">repair_table</span><span class="p">(</span><span class="s1">&#39;table_name&#39;</span><span class="p">))</span>
533<span class="p">{</span>
534 <span class="k">echo</span> <span class="s1">&#39;Success!&#39;</span><span class="p">;</span>
535<span class="p">}</span>
536</pre></div>
537</div>
538<div class="admonition note">
539<p class="first admonition-title">Note</p>
540<p class="last">Not all database platforms support table repairs.</p>
541</div>
542</div>
543<div class="section" id="optimize-a-database">
544<h3><a class="toc-backref" href="#id7">Optimize a Database</a><a class="headerlink" href="#optimize-a-database" title="Permalink to this headline"></a></h3>
545<p>Permits you to optimize the database your DB class is currently
546connected to. Returns an array containing the DB status messages or
547FALSE on failure.</p>
548<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$result</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">optimize_database</span><span class="p">();</span>
549
550<span class="k">if</span> <span class="p">(</span><span class="nv">$result</span> <span class="o">!==</span> <span class="k">FALSE</span><span class="p">)</span>
551<span class="p">{</span>
552 <span class="nb">print_r</span><span class="p">(</span><span class="nv">$result</span><span class="p">);</span>
553<span class="p">}</span>
554</pre></div>
555</div>
556<div class="admonition note">
557<p class="first admonition-title">Note</p>
558<p class="last">Not all database platforms support database optimization. It
559it is mostly for use with MySQL.</p>
560</div>
561</div>
562<div class="section" id="export-a-query-result-as-a-csv-file">
563<h3><a class="toc-backref" href="#id8">Export a Query Result as a CSV File</a><a class="headerlink" href="#export-a-query-result-as-a-csv-file" title="Permalink to this headline"></a></h3>
564<p>Permits you to generate a CSV file from a query result. The first
565parameter of the method must contain the result object from your
566query. Example:</p>
567<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="p">();</span>
568
569<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">db</span><span class="o">-&gt;</span><span class="na">query</span><span class="p">(</span><span class="s2">&quot;SELECT * FROM mytable&quot;</span><span class="p">);</span>
570
571<span class="k">echo</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">csv_from_result</span><span class="p">(</span><span class="nv">$query</span><span class="p">);</span>
572</pre></div>
573</div>
574<p>The second, third, and fourth parameters allow you to set the delimiter
575newline, and enclosure characters respectively. By default commas are
576used as the delimiter, “n” is used as a new line, and a double-quote
577is used as the enclosure. Example:</p>
578<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$delimiter</span> <span class="o">=</span> <span class="s2">&quot;,&quot;</span><span class="p">;</span>
579<span class="nv">$newline</span> <span class="o">=</span> <span class="s2">&quot;</span><span class="se">\r\n</span><span class="s2">&quot;</span><span class="p">;</span>
580<span class="nv">$enclosure</span> <span class="o">=</span> <span class="s1">&#39;&quot;&#39;</span><span class="p">;</span>
581
582<span class="k">echo</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">csv_from_result</span><span class="p">(</span><span class="nv">$query</span><span class="p">,</span> <span class="nv">$delimiter</span><span class="p">,</span> <span class="nv">$newline</span><span class="p">,</span> <span class="nv">$enclosure</span><span class="p">);</span>
583</pre></div>
584</div>
585<div class="admonition important">
586<p class="first admonition-title">Important</p>
587<p class="last">This method will NOT write the CSV file for you. It
588simply creates the CSV layout. If you need to write the file
589use the <a class="reference internal" href="../helpers/file_helper.html"><span class="doc">File Helper</span></a>.</p>
590</div>
591</div>
592<div class="section" id="export-a-query-result-as-an-xml-document">
593<h3><a class="toc-backref" href="#id9">Export a Query Result as an XML Document</a><a class="headerlink" href="#export-a-query-result-as-an-xml-document" title="Permalink to this headline"></a></h3>
594<p>Permits you to generate an XML file from a query result. The first
595parameter expects a query result object, the second may contain an
596optional array of config parameters. Example:</p>
597<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="p">();</span>
598
599<span class="nv">$query</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">db</span><span class="o">-&gt;</span><span class="na">query</span><span class="p">(</span><span class="s2">&quot;SELECT * FROM mytable&quot;</span><span class="p">);</span>
600
601<span class="nv">$config</span> <span class="o">=</span> <span class="k">array</span> <span class="p">(</span>
602 <span class="s1">&#39;root&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;root&#39;</span><span class="p">,</span>
603 <span class="s1">&#39;element&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;element&#39;</span><span class="p">,</span>
604 <span class="s1">&#39;newline&#39;</span> <span class="o">=&gt;</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span><span class="p">,</span>
605 <span class="s1">&#39;tab&#39;</span> <span class="o">=&gt;</span> <span class="s2">&quot;</span><span class="se">\t</span><span class="s2">&quot;</span>
606<span class="p">);</span>
607
608<span class="k">echo</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">xml_from_result</span><span class="p">(</span><span class="nv">$query</span><span class="p">,</span> <span class="nv">$config</span><span class="p">);</span>
609</pre></div>
610</div>
611<div class="admonition important">
612<p class="first admonition-title">Important</p>
613<p class="last">This method will NOT write the XML file for you. It
614simply creates the XML layout. If you need to write the file
615use the <a class="reference internal" href="../helpers/file_helper.html"><span class="doc">File Helper</span></a>.</p>
616</div>
617</div>
618</div>
619<div class="section" id="backup-your-database">
620<h2><a class="toc-backref" href="#id10">Backup Your Database</a><a class="headerlink" href="#backup-your-database" title="Permalink to this headline"></a></h2>
621<div class="section" id="database-backup-notes">
622<h3><a class="toc-backref" href="#id11">Database Backup Notes</a><a class="headerlink" href="#database-backup-notes" title="Permalink to this headline"></a></h3>
623<p>Permits you to backup your full database or individual tables. The
624backup data can be compressed in either Zip or Gzip format.</p>
625<div class="admonition note">
626<p class="first admonition-title">Note</p>
627<p class="last">This feature is only available for MySQL and Interbase/Firebird databases.</p>
628</div>
629<div class="admonition note">
630<p class="first admonition-title">Note</p>
631<p>For Interbase/Firebird databases, the backup file name is the only parameter.</p>
632<p class="last">$this-&gt;dbutil-&gt;backup(‘db_backup_filename’);</p>
633</div>
634<div class="admonition note">
635<p class="first admonition-title">Note</p>
636<p class="last">Due to the limited execution time and memory available to PHP,
637backing up very large databases may not be possible. If your database is
638very large you might need to backup directly from your SQL server via
639the command line, or have your server admin do it for you if you do not
640have root privileges.</p>
641</div>
642</div>
643<div class="section" id="usage-example">
644<h3><a class="toc-backref" href="#id12">Usage Example</a><a class="headerlink" href="#usage-example" title="Permalink to this headline"></a></h3>
645<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="c1">// Load the DB utility class</span>
646<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="p">();</span>
647
648<span class="c1">// Backup your entire database and assign it to a variable</span>
649<span class="nv">$backup</span> <span class="o">=</span> <span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">backup</span><span class="p">();</span>
650
651<span class="c1">// Load the file helper and write the file to your server</span>
652<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">helper</span><span class="p">(</span><span class="s1">&#39;file&#39;</span><span class="p">);</span>
653<span class="nx">write_file</span><span class="p">(</span><span class="s1">&#39;/path/to/mybackup.gz&#39;</span><span class="p">,</span> <span class="nv">$backup</span><span class="p">);</span>
654
655<span class="c1">// Load the download helper and send the file to your desktop</span>
656<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">load</span><span class="o">-&gt;</span><span class="na">helper</span><span class="p">(</span><span class="s1">&#39;download&#39;</span><span class="p">);</span>
657<span class="nx">force_download</span><span class="p">(</span><span class="s1">&#39;mybackup.gz&#39;</span><span class="p">,</span> <span class="nv">$backup</span><span class="p">);</span>
658</pre></div>
659</div>
660</div>
661<div class="section" id="setting-backup-preferences">
662<h3><a class="toc-backref" href="#id13">Setting Backup Preferences</a><a class="headerlink" href="#setting-backup-preferences" title="Permalink to this headline"></a></h3>
663<p>Backup preferences are set by submitting an array of values to the first
664parameter of the <code class="docutils literal"><span class="pre">backup()</span></code> method. Example:</p>
665<div class="highlight-ci"><div class="highlight"><pre><span></span><span class="nv">$prefs</span> <span class="o">=</span> <span class="k">array</span><span class="p">(</span>
666 <span class="s1">&#39;tables&#39;</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(</span><span class="s1">&#39;table1&#39;</span><span class="p">,</span> <span class="s1">&#39;table2&#39;</span><span class="p">),</span> <span class="c1">// Array of tables to backup.</span>
667 <span class="s1">&#39;ignore&#39;</span> <span class="o">=&gt;</span> <span class="k">array</span><span class="p">(),</span> <span class="c1">// List of tables to omit from the backup</span>
668 <span class="s1">&#39;format&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;txt&#39;</span><span class="p">,</span> <span class="c1">// gzip, zip, txt</span>
669 <span class="s1">&#39;filename&#39;</span> <span class="o">=&gt;</span> <span class="s1">&#39;mybackup.sql&#39;</span><span class="p">,</span> <span class="c1">// File name - NEEDED ONLY WITH ZIP FILES</span>
670 <span class="s1">&#39;add_drop&#39;</span> <span class="o">=&gt;</span> <span class="k">TRUE</span><span class="p">,</span> <span class="c1">// Whether to add DROP TABLE statements to backup file</span>
671 <span class="s1">&#39;add_insert&#39;</span> <span class="o">=&gt;</span> <span class="k">TRUE</span><span class="p">,</span> <span class="c1">// Whether to add INSERT data to backup file</span>
672 <span class="s1">&#39;newline&#39;</span> <span class="o">=&gt;</span> <span class="s2">&quot;</span><span class="se">\n</span><span class="s2">&quot;</span> <span class="c1">// Newline character used in backup file</span>
673<span class="p">);</span>
674
675<span class="nv">$this</span><span class="o">-&gt;</span><span class="na">dbutil</span><span class="o">-&gt;</span><span class="na">backup</span><span class="p">(</span><span class="nv">$prefs</span><span class="p">);</span>
676</pre></div>
677</div>
678</div>
679<div class="section" id="description-of-backup-preferences">
680<h3><a class="toc-backref" href="#id14">Description of Backup Preferences</a><a class="headerlink" href="#description-of-backup-preferences" title="Permalink to this headline"></a></h3>
681<table border="1" class="docutils">
682<colgroup>
683<col width="16%" />
684<col width="16%" />
685<col width="16%" />
686<col width="51%" />
687</colgroup>
688<thead valign="bottom">
689<tr class="row-odd"><th class="head">Preference</th>
690<th class="head">Default Value</th>
691<th class="head">Options</th>
692<th class="head">Description</th>
693</tr>
694</thead>
695<tbody valign="top">
696<tr class="row-even"><td><strong>tables</strong></td>
697<td>empty array</td>
698<td>None</td>
699<td>An array of tables you want backed up. If left blank all tables will be
700exported.</td>
701</tr>
702<tr class="row-odd"><td><strong>ignore</strong></td>
703<td>empty array</td>
704<td>None</td>
705<td>An array of tables you want the backup routine to ignore.</td>
706</tr>
707<tr class="row-even"><td><strong>format</strong></td>
708<td>gzip</td>
709<td>gzip, zip, txt</td>
710<td>The file format of the export file.</td>
711</tr>
712<tr class="row-odd"><td><strong>filename</strong></td>
713<td>the current date/time</td>
714<td>None</td>
715<td>The name of the backed-up file. The name is needed only if you are using
716zip compression.</td>
717</tr>
718<tr class="row-even"><td><strong>add_drop</strong></td>
719<td>TRUE</td>
720<td>TRUE/FALSE</td>
721<td>Whether to include DROP TABLE statements in your SQL export file.</td>
722</tr>
723<tr class="row-odd"><td><strong>add_insert</strong></td>
724<td>TRUE</td>
725<td>TRUE/FALSE</td>
726<td>Whether to include INSERT statements in your SQL export file.</td>
727</tr>
728<tr class="row-even"><td><strong>newline</strong></td>
729<td>“\n”</td>
730<td>“\n”, “\r”, “\r\n”</td>
731<td>Type of newline to use in your SQL export file.</td>
732</tr>
733<tr class="row-odd"><td><strong>foreign_key_checks</strong></td>
734<td>TRUE</td>
735<td>TRUE/FALSE</td>
736<td>Whether output should keep foreign key checks enabled.</td>
737</tr>
738</tbody>
739</table>
740</div>
741</div>
742<div class="section" id="class-reference">
743<h2><a class="toc-backref" href="#id15">Class Reference</a><a class="headerlink" href="#class-reference" title="Permalink to this headline"></a></h2>
744<dl class="class">
745<dt id="CI_DB_utility">
746<em class="property">class </em><code class="descname">CI_DB_utility</code><a class="headerlink" href="#CI_DB_utility" title="Permalink to this definition"></a></dt>
747<dd><dl class="method">
748<dt id="CI_DB_utility::backup">
749<code class="descname">backup</code><span class="sig-paren">(</span><span class="optional">[</span><em>$params = array()</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::backup" title="Permalink to this definition"></a></dt>
750<dd><table class="docutils field-list" frame="void" rules="none">
751<col class="field-name" />
752<col class="field-body" />
753<tbody valign="top">
754<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
755<li><strong>$params</strong> (<em>array</em>) – An associative array of options</li>
756</ul>
757</td>
758</tr>
759<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">raw/(g)zipped SQL query string</p>
760</td>
761</tr>
762<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">string</p>
763</td>
764</tr>
765</tbody>
766</table>
767<p>Perform a database backup, per user preferences.</p>
768</dd></dl>
769
770<dl class="method">
771<dt id="CI_DB_utility::database_exists">
772<code class="descname">database_exists</code><span class="sig-paren">(</span><em>$database_name</em><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::database_exists" title="Permalink to this definition"></a></dt>
773<dd><table class="docutils field-list" frame="void" rules="none">
774<col class="field-name" />
775<col class="field-body" />
776<tbody valign="top">
777<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
778<li><strong>$database_name</strong> (<em>string</em>) – Database name</li>
779</ul>
780</td>
781</tr>
782<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">TRUE if the database exists, FALSE otherwise</p>
783</td>
784</tr>
785<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">bool</p>
786</td>
787</tr>
788</tbody>
789</table>
790<p>Check for the existence of a database.</p>
791</dd></dl>
792
793<dl class="method">
794<dt id="CI_DB_utility::list_databases">
795<code class="descname">list_databases</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::list_databases" title="Permalink to this definition"></a></dt>
796<dd><table class="docutils field-list" frame="void" rules="none">
797<col class="field-name" />
798<col class="field-body" />
799<tbody valign="top">
800<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Array of database names found</td>
801</tr>
802<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">array</td>
803</tr>
804</tbody>
805</table>
806<p>Retrieve a list of all the database names.</p>
807</dd></dl>
808
809<dl class="method">
810<dt id="CI_DB_utility::optimize_database">
811<code class="descname">optimize_database</code><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::optimize_database" title="Permalink to this definition"></a></dt>
812<dd><table class="docutils field-list" frame="void" rules="none">
813<col class="field-name" />
814<col class="field-body" />
815<tbody valign="top">
816<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">Array of optimization messages or FALSE on failure</td>
817</tr>
818<tr class="field-even field"><th class="field-name">Return type:</th><td class="field-body">array</td>
819</tr>
820</tbody>
821</table>
822<p>Optimizes the database.</p>
823</dd></dl>
824
825<dl class="method">
826<dt id="CI_DB_utility::optimize_table">
827<code class="descname">optimize_table</code><span class="sig-paren">(</span><em>$table_name</em><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::optimize_table" title="Permalink to this definition"></a></dt>
828<dd><table class="docutils field-list" frame="void" rules="none">
829<col class="field-name" />
830<col class="field-body" />
831<tbody valign="top">
832<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
833<li><strong>$table_name</strong> (<em>string</em>) – Name of the table to optimize</li>
834</ul>
835</td>
836</tr>
837<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Array of optimization messages or FALSE on failure</p>
838</td>
839</tr>
840<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">array</p>
841</td>
842</tr>
843</tbody>
844</table>
845<p>Optimizes a database table.</p>
846</dd></dl>
847
848<dl class="method">
849<dt id="CI_DB_utility::repair_table">
850<code class="descname">repair_table</code><span class="sig-paren">(</span><em>$table_name</em><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::repair_table" title="Permalink to this definition"></a></dt>
851<dd><table class="docutils field-list" frame="void" rules="none">
852<col class="field-name" />
853<col class="field-body" />
854<tbody valign="top">
855<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
856<li><strong>$table_name</strong> (<em>string</em>) – Name of the table to repair</li>
857</ul>
858</td>
859</tr>
860<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">Array of repair messages or FALSE on failure</p>
861</td>
862</tr>
863<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">array</p>
864</td>
865</tr>
866</tbody>
867</table>
868<p>Repairs a database table.</p>
869</dd></dl>
870
871<dl class="method">
872<dt id="CI_DB_utility::csv_from_result">
873<code class="descname">csv_from_result</code><span class="sig-paren">(</span><em>$query</em><span class="optional">[</span>, <em>$delim = '</em>, <em>'</em><span class="optional">[</span>, <em>$newline = &quot;n&quot;</em><span class="optional">[</span>, <em>$enclosure = '&quot;'</em><span class="optional">]</span><span class="optional">]</span><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::csv_from_result" title="Permalink to this definition"></a></dt>
874<dd><table class="docutils field-list" frame="void" rules="none">
875<col class="field-name" />
876<col class="field-body" />
877<tbody valign="top">
878<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
879<li><strong>$query</strong> (<em>object</em>) – A database result object</li>
880<li><strong>$delim</strong> (<em>string</em>) – The CSV field delimiter to use</li>
881<li><strong>$newline</strong> (<em>string</em>) – The newline character to use</li>
882<li><strong>$enclosure</strong> (<em>string</em>) – The enclosure delimiter to use</li>
883</ul>
884</td>
885</tr>
886<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The generated CSV file as a string</p>
887</td>
888</tr>
889<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">string</p>
890</td>
891</tr>
892</tbody>
893</table>
894<p>Translates a database result object into a CSV document.</p>
895</dd></dl>
896
897<dl class="method">
898<dt id="CI_DB_utility::xml_from_result">
899<code class="descname">xml_from_result</code><span class="sig-paren">(</span><em>$query</em><span class="optional">[</span>, <em>$params = array()</em><span class="optional">]</span><span class="sig-paren">)</span><a class="headerlink" href="#CI_DB_utility::xml_from_result" title="Permalink to this definition"></a></dt>
900<dd><table class="docutils field-list" frame="void" rules="none">
901<col class="field-name" />
902<col class="field-body" />
903<tbody valign="top">
904<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
905<li><strong>$query</strong> (<em>object</em>) – A database result object</li>
906<li><strong>$params</strong> (<em>array</em>) – An associative array of preferences</li>
907</ul>
908</td>
909</tr>
910<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first">The generated XML document as a string</p>
911</td>
912</tr>
913<tr class="field-odd field"><th class="field-name">Return type:</th><td class="field-body"><p class="first last">string</p>
914</td>
915</tr>
916</tbody>
917</table>
918<p>Translates a database result object into an XML document.</p>
919</dd></dl>
920
921</dd></dl>
922
923</div>
924</div>
925
926
927 </div>
928 <footer>
929
930 <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
931
932 <a href="db_driver_reference.html" class="btn btn-neutral float-right" title="DB Driver Reference">Next <span class="fa fa-arrow-circle-right"></span></a>
933
934
935 <a href="forge.html" class="btn btn-neutral" title="Database Forge Class"><span class="fa fa-arrow-circle-left"></span> Previous</a>
936
937 </div>
938
939
940 <hr/>
941
942 <div role="contentinfo">
943 <p>
944 &copy; Copyright 2014 - 2019, British Columbia Institute of Technology.
945 Last updated on Jan 16, 2019.
946 </p>
947 </div>
948
949 Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
950
951</footer>
952 </div>
953 </div>
954
955 </section>
956
957 </div>
958
959
960
961
962
963 <script type="text/javascript">
964 var DOCUMENTATION_OPTIONS = {
965 URL_ROOT:'../',
966 VERSION:'3.1.10',
967 COLLAPSE_INDEX:false,
968 FILE_SUFFIX:'.html',
969 HAS_SOURCE: false
970 };
971 </script>
972 <script type="text/javascript" src="../_static/jquery.js"></script>
973 <script type="text/javascript" src="../_static/underscore.js"></script>
974 <script type="text/javascript" src="../_static/doctools.js"></script>
975
976
977
978
979
980 <script type="text/javascript" src="../_static/js/theme.js"></script>
981
982
983
984
985 <script type="text/javascript">
986 jQuery(function () {
987 SphinxRtdTheme.StickyNav.enable();
988 });
989 </script>
990
991
992</body>
993</html>