[英]calling function php joomla doesn't work
我寫了一個與joomla數據庫集成的簡單php頁面。 我編寫了兩個函數並調用了它們。
如果函數中的代碼被寫為非函數(在代碼本身上),則它可以正常工作。 但! 當代碼起作用並從頁面調用時,整個屏幕變為白色。
代碼很簡單...第一個函數獲取用戶的ID並返回表中的數字總和。 第二個函數獲取用戶的用戶名並返回其ID號。 為了確保功能正常工作,我向他們發送了特定的值(第一個函數為24,第二個為“ admin”)。
編碼:
<?php
defined('_JEXEC') or die('Restricted access');
$items = $params->get('items', 10);
$db =& JFactory::getDBO();
function get_sum($uid)
{
$sum = 0;
$query = "SELECT orderpayment_amount
FROM #__j2store_orders
WHERE user_id = '$uid'
ORDER BY id DESC";
$db->setQuery( $query, 0 , $items );
$rows = $db->loadObjectList();
foreach($rows as $row)
{
$sum = $sum + $row->orderpayment_amount;
}
return "$sum";
}
function getTalId($u)
{
$query = "SELECT id
FROM #__users
WHERE username = '$u'
ORDER BY id DESC";
$db->setQuery( $query, 0 , $items );
$rows = $db->loadObjectList();
foreach($rows as $row)
{
return $row->id;
}
}
echo get_sum(42);
echo getTalId('admin');
?>
我因這個問題呆了兩天。 我將不勝感激。 謝謝。
您正在經歷的是死亡白屏。
很可能您已關閉錯誤報告功能(建議在生產環境中使用)t出現錯誤,但未在屏幕上顯示。 您可以:
至於為什么發生這種情況,我想說您無法訪問函數內部的$ db變量(請參見此答案 )。
如果代碼在Jooomla MVC類模型中,則$db = $this->getDbo()
會執行類似的操作。
我鼓勵您使用類而不是函數,您將獲得一些額外的東西,例如自動加載
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.