2013-07-24 26 views
0

首先我要告诉大家,我对PHP/MySQL的新手...SELECT查询静静地失败,没有输出产生

我想写使用PHP简单的插件。这里是我的PHP功能代码:

function example() {  
    global $DB;  
    $examplesql = $DB['DB_Database']->query("SELECT tid, added 
               FROM table GROUP BY tid 
               ORDER BY added DESC LIMIT 5"); 
    while ($row = $DB['DB_Database']->fetch_assoc($examplesql)) { 
     $time = date('Y-m-d H:i:s',$row['added']); 
     $torid = $row['tid']; 
    } 
    eval("\$exampletemplate = \"" 
     . $DB['DB_Template']->LoadTemplate('exampletemplate') 
     . "\";"); 
    return $example; 
} 

所以当我创建了一个名为exampletemplate模板,并插入到该模板这一点;

<table width="200" border="1"> 
    <tr> 
    <td>$time</td> 
    <td>$torid;</td> 
    </tr> 
</table> 

它必须出示由added排序最后5 tid名单,但我得到的是一个白色的页面。没有数据库错误,没有。只是一个白页。

有人可以告诉我我做错了什么?

回答

2

白页表示您关闭了error_reporting。 PHP想告诉你你的错误是什么,但你不会放过它。把下面的代码行你的文件的顶部,或者在您的配置文件,启用错误报告:

error_reporting(E_ALL); 

还要确保display_errors是在你的php.ini文件。

+0

你好,我使用完全加密的脚本与ioncube ..所以我不能在配置文件进行更改 – JacKy

+0

我添加了此代码,但stil只获得白页。 – JacKy

+1

@ user2608650您需要'ini_set('display_errors',1);'在屏幕上启用调试错误。 –

0

1st:您是否设置或声明变量$time$torid?有没有保证它被设置在while循环中? $TSUE来自哪里?

第二:使用echo $time;在HTML <?php ?>像下:

<table width="200" border="1"> 
    <tr> 
    <td><?php echo $time; ?></td> 
    <td><?php echo $torid; ?></td> 
    </tr> 
</table> 

3:在哪里,或者你怎么称呼你的函数?

+0

脚本不需要回显..键入$任何东西都足以调用您在php文件中设置的值..我不知道TSUE来自哪里,这是加密的脚本。我在几个解密文件中看到了这一点。 – JacKy

+0

*键入$任何东西都足以调用您在php文件*中设置的值。你是说它会在HTML中显示没有echo的'$ anything'的值吗? –

+0

是的,但我没有直接访问这个PHP文件。例如,我有一个主页。我添加这个PHP文件,并在脚本的选项中创建模板,它调用脚本的插件。然后我在主页上设置显示这个插件,它显示了我插入模板$任何东西。不需要任何回声。但正如我所说,它必须在MySQL中调用并设置在PHP文件。 – JacKy