调用函数php joomla不起作用

时间:2013-04-23 08:36:11

标签: php function joomla wsod

我写了一个与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');
?>

我遇到这个问题已经困了两天了。 我很感激任何帮助。 谢谢你的头脑。

1 个答案:

答案 0 :(得分:1)

你所经历的是死亡白屏。

很可能您已关闭错误报告(建议用于生产)t 有一个错误,但它没有显示在屏幕上。你可以:

  • 更改错误报告(系统&gt;全局配置&gt;服务器&gt;错误报告:开发)
  • 检查服务器错误日志。

至于为什么会发生这种情况,我会说你没有访问函数内部的$ db变量(参见this answer)。

如果代码在Jooomla MVC类模型中,$db = $this->getDbo()会做类似的事情。

我鼓励您使用类而不是函数,您将获得一些额外的东西,如自动加载