2016-04-09 6 views
1

私はthis tutorialを使用して、Joomla Webサイトの外部データベースに接続しました。外部データベースからデータを抽出する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>'; 

は、どのように私は、それを修正する必要がありますか?

答えて

0

$db = JFactory::getDbo(); 

...あなたのコードに次の... Joomlaのデータベースにではなく、外部のデータベースに接続します。ガイドをもう一度チェックして、外部接続がどのように行われているかを確認してください。

いずれにしても、白いページはどこかの致命的なエラーの兆候です。ログを確認するか、エラー報告を有効にして、エラーの原因を確認します。

また、Joomlaの機能を使用する場合は、実際にJoomlaの環境にいることを確認してください(Joomla環境など)。

+0

まったく JDatabaseDriver-> getInstanceメソッドを使用する必要があります。 –

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); 
?> 
0

、最後にセミコロンを有すること->where($db->quoteName('manufacturer') . ' IS NOT NULL') を調整します。 これはPHPエラーに役立ちます。

関連する問題