我正在将数据插入Joomla 中的表
foreach($resultarray as $data1)
{
$table = JTable::getInstance('Upload', 'UsersTable', array());
$table->bind($data1);
$table->store();
}
我想做一个交易,这样就会有START transaction,COMMIT
怎么做?
JoomlaJoomla3.x通过JDatabaseDriver的transactionStart、transactionCommit和transactionRollback引入了SQL事务(如果支持)。这取代了Joomla Joomla 2.5中引入的queryBatch方法。
$db = JFactory::getDbo();
try
{
$db->transactionStart();
$query = $db->getQuery(true);
$values = array($db->quote('TEST_CONSTANT'), $db->quote('Custom'), $db->quote('/path/to/translation.ini'));
$query->insert($db->quoteName('#__overrider'));
$query->columns($db->quoteName(array('constant', 'string', 'file')));
$query->values(implode(',',$values));
$db->setQuery($query);
$result = $db->execute();
$db->transactionCommit();
}
catch (Exception $e)
{
// catch any database errors.
$db->transactionRollback();
JErrorPage::render($e);
}
我从这里选择了这个例子