Php 从外部数据库Joomla提取数据
我曾经连接到Joomla网站的外部数据库 我想我成功地连接到了数据库,但是当我尝试使用数据时,它返回一个空白的白色页面 如果表位于joomla数据库中,我将使用以下代码:Php 从外部数据库Joomla提取数据,php,mysql,database,joomla,Php,Mysql,Database,Joomla,我曾经连接到Joomla网站的外部数据库 我想我成功地连接到了数据库,但是当我尝试使用数据时,它返回一个空白的白色页面 如果表位于joomla数据库中,我将使用以下代码: $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select(array('*')) ->from($db->quoteName('orders')) ->where($db->quoteName('manu
$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>';
$db=JFactory::getDbo();
$query=$db->getQuery(true);
$query->select(数组('*'))
->从($db->quoteName('orders'))
->其中($db->quoteName('manufacturer').“不为空”)
$db->setQuery($query);
$results=$db->loadObjectList();
回声';
foreach($结果为$行)
{
回声';
回显'.$row->制造商'';
回显“”。$row->类型。“;
回显“”。($row->功率+0)。“千瓦”;
回音'.$row->rpm.''ццц-1';
回声';
}
回声';
我应该如何修改它,这样我就可以从外部数据库获得这个简单的表了?下面是您的代码
$db = JFactory::getDbo();
…将连接到Joomla数据库,而不是外部数据库。再次检查导轨,查看外部连接是如何进行的
在任何情况下,白色页面都是某个地方出现致命错误的标志。检查日志或启用错误报告以查看错误的来源
此外,如果要使用Joomla的函数,请确保您实际处于Joomla上下文中(例如,Joomla环境已加载)。代码中的以下内容
$db = JFactory::getDbo();
…将连接到Joomla数据库,而不是外部数据库。再次检查导轨,查看外部连接是如何进行的
在任何情况下,白色页面都是某个地方出现致命错误的标志。检查日志或启用错误报告以查看错误的来源
此外,如果要使用Joomla的函数,请确保您实际处于Joomla上下文中(例如,Joomla环境已加载)。使用此代码
<?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 );
?>
使用此代码
<?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 );
?>
调整->其中($db->quoteName('manufacturer').“不为空”)
在结尾有一个分号。
这将有助于解决PHP错误。调整->where($db->quoteName('manufacturer')。's NOT NULL')
在结尾有一个分号。
这将有助于解决PHP错误。确切地说,您必须使用JDatabaseDriver->getInstance方法。确切地说,您必须使用JDatabaseDriver->getInstance方法。