<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hk47xx</id>
	<title>Joomla! Documentation - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://docs.sandbox.joomla.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hk47xx"/>
	<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/Special:Contributions/Hk47xx"/>
	<updated>2026-10-06T21:14:29Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://docs.sandbox.joomla.org/index.php?title=Talk:Accessing_the_database_using_JDatabase&amp;diff=15519</id>
		<title>Talk:Accessing the database using JDatabase</title>
		<link rel="alternate" type="text/html" href="https://docs.sandbox.joomla.org/index.php?title=Talk:Accessing_the_database_using_JDatabase&amp;diff=15519"/>
		<updated>2009-08-26T01:57:52Z</updated>

		<summary type="html">&lt;p&gt;Hk47xx: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Can anyone provide more info regarding insertObject()?&lt;br /&gt;
I just have no idea of how to insert a row into a table. I tried to do the following but it just doesn&#039;t work:&lt;br /&gt;
&lt;br /&gt;
$db	= &amp;amp; JFactory::getDBO();&lt;br /&gt;
$query =  &amp;quot;insert into #__my_table(field1, field2) values (&#039;&amp;quot;.$value1.&amp;quot;&#039;,&#039;&amp;quot;.$value2.&amp;quot;&#039;)&amp;quot;;&lt;br /&gt;
echo $query;&lt;br /&gt;
$db-&amp;gt;setQuery( $query );&lt;br /&gt;
return($db-&amp;gt;Query());&lt;br /&gt;
&lt;br /&gt;
Any ideas?&lt;br /&gt;
&lt;br /&gt;
Thanks!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
*&lt;br /&gt;
* $object-&amp;gt;fieldname1 = &#039;value1&#039;;&lt;br /&gt;
* $object-&amp;gt;fieldname2 = &#039;value2&#039;;&lt;br /&gt;
* $object-&amp;gt;fieldname3 = &#039;value3&#039;;&lt;br /&gt;
* $object-&amp;gt;fieldname4 = &#039;value4&#039;;&lt;br /&gt;
* $object-&amp;gt;fieldname5 = &#039;value5&#039;;&lt;br /&gt;
*&lt;br /&gt;
* $table = &#039;#__tablename&#039;;&lt;br /&gt;
*&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
$db = JFactory::getDBO();&lt;br /&gt;
&lt;br /&gt;
$db-&amp;gt;insertObject($table, $object, &#039;id&#039;);&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
*&lt;br /&gt;
* The query will be generated:&lt;br /&gt;
* &lt;br /&gt;
* INSERT INTO `#__tablename` ( &#039;fieldname1&#039;, &#039;fieldname2&#039;, &#039;fieldname3&#039;, &#039;fieldname4&#039;, &#039;fieldname5&#039; ) VALUES ( &#039;value1&#039;, &#039;value2&#039;, &#039;value3&#039;, &#039;value4&#039;, &#039;value5&#039; );&lt;br /&gt;
*&lt;br /&gt;
* and executed&lt;br /&gt;
*&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
echo $object-&amp;gt;id; // will output the last insert ID&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you wanna use &amp;quot;your&amp;quot; syntax:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$db = JFactory::getDOB();&lt;br /&gt;
&lt;br /&gt;
$query = &amp;quot;INSERT INTO `#__tablename` ( &#039;field1&#039;, &#039;field2&#039; ) VALUES ( &#039;&amp;quot;.$value1.&amp;quot;&#039;, &#039;&amp;quot;.$value2.&amp;quot;&#039;)&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
*&lt;br /&gt;
* $db-&amp;gt;setQuery($query);&lt;br /&gt;
*&lt;br /&gt;
* if ($dump) {&lt;br /&gt;
*    echo $db-&amp;gt;getQuery();&lt;br /&gt;
* }&lt;br /&gt;
*&lt;br /&gt;
* $db-&amp;gt;Query();&lt;br /&gt;
*&lt;br /&gt;
*/&lt;br /&gt;
&lt;br /&gt;
$db-&amp;gt;Execute($query);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
But it&#039;s recommend to use a controller/model/table construct:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// controller&lt;br /&gt;
&lt;br /&gt;
$model = $this-&amp;gt;getModel(&#039;modelname&#039;)&lt;br /&gt;
$model-&amp;gt;store($data);&lt;br /&gt;
&lt;br /&gt;
// Model&lt;br /&gt;
&lt;br /&gt;
public function store($data) {&lt;br /&gt;
&lt;br /&gt;
    [...]&lt;br /&gt;
&lt;br /&gt;
    $row = JTable::getInstance(&#039;KomponentNameTableName&#039;);&lt;br /&gt;
&lt;br /&gt;
    //save it in the db&lt;br /&gt;
    if (!$row-&amp;gt;save($data)) {&lt;br /&gt;
        JError::raiseError( 500, $row-&amp;gt;_db-&amp;gt;getError() );&lt;br /&gt;
        return false;&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    [...]&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
// table/komponentnametablename.php&lt;br /&gt;
&lt;br /&gt;
class JTableKomponentNameTableName extends JTable {&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
    /**&lt;br /&gt;
     * Primary Key&lt;br /&gt;
     * @var int&lt;br /&gt;
     */&lt;br /&gt;
    var $id = null;&lt;br /&gt;
    /** @var int */&lt;br /&gt;
    var $field1 = null;&lt;br /&gt;
    /** @var char */&lt;br /&gt;
    var $field2 = null;&lt;br /&gt;
&lt;br /&gt;
    public function __construct(&amp;amp; $db) {&lt;br /&gt;
        parent::__construct(&#039;#__tablename&#039;, &#039;id&#039;, $db);&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    public function check () {&lt;br /&gt;
&lt;br /&gt;
        // Check all fields $this-&amp;gt;fieldname&lt;br /&gt;
        return true;&lt;br /&gt;
&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-- [[User:Bembelimen|Bembelimen]] 12:34, 16 March 2009 (UTC)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
I think, you can &#039;&#039;&#039;not&#039;&#039;&#039; repeat the call to loadAssoc to get further rows, because&lt;br /&gt;
loadAssoc runs the query unconditionally, I got a infinite recursion using it this way:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
    while($row = $db-&amp;gt;loadAssoc()){&lt;br /&gt;
    // do something...&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
See: [http://api.joomla.org/__filesource/fsource_Joomla-Framework_Database_joomladatabasedatabasemysql.php.html#a390] &lt;br /&gt;
line: 392&lt;/div&gt;</summary>
		<author><name>Hk47xx</name></author>
	</entry>
</feed>