从外部数据库Joomla中提取数据

时间:2016-04-09 16:47:58

标签: php mysql database joomla

我使用this tutorial连接到我的Joomla网站中的外部数据库。

我认为我设法成功连接到数据库,但当我尝试使用数据时,它返回一个空的白页。

如果Table在joomla数据库中,这是我正在使用的代码:

$db = JFactory::getDbo();
$query = $db->getQuery(true); 

$query->select(array('*'))
->from($db->quoteName('orders'))
->where($db->quoteName('manufacturer') . ' IS NOT NULL')
$db->setQuery($query);

$results = $db->loadObjectList();

echo '<table class="table table-striped">';

foreach ($results as $row)
{

echo '<tr>';
echo '<td class="first">'. $row->manufacturer .'</td>';
echo '<td>' . $row->type. '.</td>';
echo '<td>' . ($row->power+0) . ' kW</td>';
echo '<td>' . $row->rpm. ' мин.<sup>-1</sup></td>';
echo '</tr>';

}

echo '</table>';

我应该如何修改它,所以我可以从外部数据库获得这个简单的表?

3 个答案:

答案 0 :(得分:0)

您的代码中有以下内容......

$db = JFactory::getDbo();

...将连接到Joomla数据库,而不是连接到外部数据库。再次检查指南,看看如何进行外部连接。

在任何情况下,白页都是某处致命错误的标志。检查日志或启用错误报告以查看错误的来源。

另外,如果你想使用Joomla的功能,请确保你实际上在Joomla环境中(例如Joomla环境已加载)。

答案 1 :(得分:0)

使用此代码

<?php
$option = array(); //prevent problems

$option['driver']   = 'mysql';            // Database driver name
$option['host']     = 'localhost';    // Database host name
$option['user']     = 'root';       // User for database authentication
$option['password'] = '';   // Password for database authentication
$option['database'] = 'database';      // Database name
$option['prefix']   = 'abc_';             // Database prefix (may be empty)

$db = JDatabaseDriver::getInstance( $option );
?>

答案 2 :(得分:0)

调整->where($db->quoteName('manufacturer') . ' IS NOT NULL') 最后有一个分号。 这将有助于PHP错误。