====== Using the 1.5 Database Libraries ====== ===== Getting a database object ===== This tutorial should provide you with the basics of what you need to know to use the Joomla! database libraries. ==== Get the system database object ==== The easiest way to get a database object is by getting the system database object returned by the JFactory class. The static method JFactory::getDBO() returns a singleton instance of the system database object regardless of scope and is the recommended way of getting this object. // This gets the database object using the JFactory class $db = &JFactory::getDBO(); ==== Creating a custom database object ==== Joomla! 1.5 introduces the concept of database drivers which will allow you to get database objects that point to different database sources. // Create a new database object $myDB = new JDatabase::getInstance( $options ); ===== Using the database object ===== For the purposes of this tutorial we will use a very simple database table that stores information about dogs. The database table has a dog_id field with a unique integer id field, a name field and a color field for each dog. To keep things simple we have only added three dogs to our database table: * Dog 1 is named Spot and is white. * Dog 2 is named Fido and is brown. * Dog 3 is named Buster and is also brown. The following table represents our database table which we will simply call, dogs. dog_id name color 1 Spot white 2 Fido brown 3 Buster brown ==== Select one field from one row ==== Lets say for example that I want to find out the name of the second dog in my database table. This is a fairly straightfoward task, I simply need to get the name value in the name field where the dog_id is 2 so lets build an SQL query to do that. SELECT name FROM dogs WHERE dog_id = 2 Easy enough, now we need to actually get the value using our database object. * First we need to get ourselves a database object that is connected to the database our dogs table is in. // Get the system database object. $db = &JFactory::getDBO(); * Next we need to set our query to the database object. To do this we will use the setQuery method. // Set our query to the database object. $db->setQuery( 'SELECT name FROM dogs WHERE dog_id = 2' ); * Lastly we call the loadResult() method. // Use the loadResult() method to get only the first value from the first row of the result set. $name = $db->loadResult();