diff options
author | Andrey Andreev <narf@devilix.net> | 2018-03-22 15:48:55 +0100 |
---|---|---|
committer | Andrey Andreev <narf@devilix.net> | 2018-03-22 15:48:55 +0100 |
commit | 71e647782764184e3aab4faffe6d99176758979f (patch) | |
tree | 74dbdd50a61cd5674915c144aca9ebbc00b235b8 /user_guide_src/source/database/connecting.rst | |
parent | b12fbad77bd69ca0c7624a9094c29b7691ea6107 (diff) |
[ci skip] 3.1.8 release
Diffstat (limited to 'user_guide_src/source/database/connecting.rst')
-rw-r--r-- | user_guide_src/source/database/connecting.rst | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/user_guide_src/source/database/connecting.rst b/user_guide_src/source/database/connecting.rst deleted file mode 100644 index 9b8117076..000000000 --- a/user_guide_src/source/database/connecting.rst +++ /dev/null @@ -1,155 +0,0 @@ -########################### -Connecting to your Database -########################### - -There are two ways to connect to a database: - -Automatically Connecting -======================== - -The "auto connect" feature will load and instantiate the database class -with every page load. To enable "auto connecting", add the word database -to the library array, as indicated in the following file: - -application/config/autoload.php - -Manually Connecting -=================== - -If only some of your pages require database connectivity you can -manually connect to your database by adding this line of code in any -function where it is needed, or in your class constructor to make the -database available globally in that class. - -:: - - $this->load->database(); - -If the above function does **not** contain any information in the first -parameter it will connect to the group specified in your database config -file. For most people, this is the preferred method of use. - -Available Parameters --------------------- - -#. The database connection values, passed either as an array or a DSN - string. -#. TRUE/FALSE (boolean). Whether to return the connection ID (see - Connecting to Multiple Databases below). -#. TRUE/FALSE (boolean). Whether to enable the Query Builder class. Set - to TRUE by default. - -Manually Connecting to a Database ---------------------------------- - -The first parameter of this function can **optionally** be used to -specify a particular database group from your config file, or you can -even submit connection values for a database that is not specified in -your config file. Examples: - -To choose a specific group from your config file you can do this:: - - $this->load->database('group_name'); - -Where group_name is the name of the connection group from your config -file. - -To connect manually to a desired database you can pass an array of -values:: - - $config['hostname'] = 'localhost'; - $config['username'] = 'myusername'; - $config['password'] = 'mypassword'; - $config['database'] = 'mydatabase'; - $config['dbdriver'] = 'mysqli'; - $config['dbprefix'] = ''; - $config['pconnect'] = FALSE; - $config['db_debug'] = TRUE; - $config['cache_on'] = FALSE; - $config['cachedir'] = ''; - $config['char_set'] = 'utf8'; - $config['dbcollat'] = 'utf8_general_ci'; - $this->load->database($config); - -For information on each of these values please see the :doc:`configuration -page <configuration>`. - -.. note:: For the PDO driver, you should use the $config['dsn'] setting - instead of 'hostname' and 'database': - - | - | $config['dsn'] = 'mysql:host=localhost;dbname=mydatabase'; - -Or you can submit your database values as a Data Source Name. DSNs must -have this prototype:: - - $dsn = 'dbdriver://username:password@hostname/database'; - $this->load->database($dsn); - -To override default config values when connecting with a DSN string, add -the config variables as a query string. - -:: - - $dsn = 'dbdriver://username:password@hostname/database?char_set=utf8&dbcollat=utf8_general_ci&cache_on=true&cachedir=/path/to/cache'; - $this->load->database($dsn); - -Connecting to Multiple Databases -================================ - -If you need to connect to more than one database simultaneously you can -do so as follows:: - - $DB1 = $this->load->database('group_one', TRUE); - $DB2 = $this->load->database('group_two', TRUE); - -Note: Change the words "group_one" and "group_two" to the specific -group names you are connecting to (or you can pass the connection values -as indicated above). - -By setting the second parameter to TRUE (boolean) the function will -return the database object. - -.. note:: When you connect this way, you will use your object name to issue - commands rather than the syntax used throughout this guide. In other - words, rather than issuing commands with: - - | - | $this->db->query(); - | $this->db->result(); - | etc... - | - | You will instead use: - | - | $DB1->query(); - | $DB1->result(); - | etc... - -.. note:: 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: - - | $this->db->db_select($database2_name); - -Reconnecting / Keeping the Connection Alive -=========================================== - -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 -sending further queries, which can gracefully keep the connection alive -or re-establish it. - -:: - - $this->db->reconnect(); - -Manually closing the Connection -=============================== - -While CodeIgniter intelligently takes care of closing your database -connections, you can explicitly close the connection. - -:: - - $this->db->close();
\ No newline at end of file |