首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

Joomla 數據庫操作核心:JFactory::getDBO() 完整用法指南

     編輯:PHP 相關知識

獲取數據庫對象

$db = JFactory::getDBO(); // 返回資料庫連接對象 (JDatabaseDriver 實例)

JFactory 為靜態工廠類,提供系統核心對象單例訪問。

執行查詢並獲取結果集

<?php
$db = JFactory::getDBO();
$query = 'SELECT FirstName FROM #__tablename'; // #__ 自動替換為表前綴
$db->setQuery($query);

// 執行查詢
$results = $db->loadObjectList(); // 返回對象數組

// 輸出示例
foreach ($results as $row) {
    echo $row->FirstName . ', ';
}
?>

常用結果獲取方法

方法返回類型適用場景
loadObjectList()對象數組多行結果,屬性訪問
loadObject()單個對象單行結果
loadAssocList()關聯數組數組鍵值對訪問
loadAssoc()單個關聯數組單行鍵值對
loadColumn()一維數組單欄位多行
loadResult()標量單值(如 COUNT(*))
getNumRows()整數影響/返回行數

寫操作(INSERT/UPDATE/DELETE)

$db->setQuery('INSERT INTO #__table (col1, col2) VALUES ('value1', 'value2')');
$db->execute(); // 執行寫入
$insertId = $db->insertid(); // 獲取自增 ID

預處理語句(防注入,推薦)

$query = $db->getQuery(true)
    ->select('*')
    ->from('#__users')
    ->where('status = :status')
    ->bind(':status', 1);
$db->setQuery($query);
$users = $db->loadObjectList();

事務控制

$db->transactionStart();
try {
    $db->setQuery($sql1)->execute();
    $db->setQuery($sql2)->execute();
    $db->transactionCommit();
} catch (Exception $e) {
    $db->transactionRollback();
    throw $e;
}

相關專題

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved