【发布时间】:2020-06-21 12:10:21
【问题描述】:
我在 Web 服务器上有一个 Drupal 站点。在网站的一页上,我想从 sqlite 数据库中打印出信息。但是如果我输入页面的 url,我会被重定向到 /core/install.php
我使用以下代码将数据库集成到 /sites/defualt/settings.php 中:
$databases['external']['default'] = [
'driver' => 'sqlite',
'database' => '/gesamtausgabe_2019.sqlite',
];
我用 /modules/database_mindmap/src/Controller/database_mindmapController.php 创建了一个模块:
<?php
namespace Drupal\database_mindmap\Controller;
class database_mindmapController{
public function database_mindmap(){
return include('visual.php');
}
}
?>
在包含的 visual.php 中,我使用以下代码调用并查询数据库:
<?php
//open the database
\Drupal\Core\Database\Database::setActiveConnection('external');
$database = \Drupal\Core\Database\Database::getConnection();
$staticID = '008dd40a-9687-4c84-bbfd-95cf0639e09a';
$sql = 'SELECT * FROM KnowledgeItem';
$query = $database->db_query($sql);
$result = array($query);
while($row = $result) {
if (strpos($row['StaticIDs'], $staticID) !== false){
$pagerange_all = explode(" ",$row['PageRange']);
$text = "<h4>".$row['CoreStatement']."</h4>".$row['Text']."<br><br><i>Seitenzahl: ".$pagerange_all[9]." ".$pagerange_all[11]."</i>";
echo $text;
}
}
// close the database connection
Drupal\Core\Database\Database::setActiveConnection();
?>
所以出于某种奇怪的原因,每次我使用 /database/mindmap 调用模块时,我都会被重定向到 /core/install.php
感谢您的帮助!
【问题讨论】:
标签: php sqlite drupal drupal-8