我使用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>';
我应该如何修改它,所以我可以从外部数据库获得这个简单的表?
答案 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错误。