Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从外部数据库Joomla提取数据_Php_Mysql_Database_Joomla - Fatal编程技术网

Php 从外部数据库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

我曾经连接到Joomla网站的外部数据库

我想我成功地连接到了数据库,但是当我尝试使用数据时,它返回一个空白的白色页面

如果表位于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>';
$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方法。