[英]How to run sql custom query in incinga2?
我是incinga2框架的新手,如何在incinga2中運行sql原始或自定義查詢,如下所示
SELECT
`user`,
COUNT(0) as Total_Count,
MAX(range_count) Max_Range_Count
FROM (
SELECT
a.`user`,
a.change_time,
COUNT(0) range_count
FROM audit_log a
INNER JOIN audit_log b ON a.`user` = b.`user`
WHERE b.change_time BETWEEN a.change_time AND a.change_time + INTERVAL 30 MINUTE
GROUP BY a.`user`, a.change_time
) AS user_range_count
GROUP BY `user`
icinga2中的此數據庫對象用於連接數據庫並獲取數據。 他們使用適配器,但pdo為空。 A可以在這里添加我的pdo嗎? icniga2框架對嗎?
ipl\Sql\Connection Object
(
[config:protected] => ipl\Sql\Config Object
(
[db] => mysql
[host] => localhost
[port] => 3306
[dbname] => auditlog
[username] => root
[password] =>
[charset] => utf8
[options] =>
[type] => db
[persistent] => 0
)
[pdo:protected] =>
[queryBuilder:protected] =>
[adapter:protected] => ipl\Sql\Adapter\Mysql Object
(
[quoteCharacter:protected] => Array
(
[0] => `
[1] => `
)
[escapeCharatcer:protected] => ``
[escapeCharacter:protected] => \"
[options:protected] => Array
(
[8] => 0
[20] =>
[3] => 2
[11] => 0
[17] =>
)
)
[pluginLoaders:protected] => Array
(
[adapter] => Array
(
[0] => ipl\Stdlib\Loader\AutoLoadingPluginLoader Object
(
[namespace:protected] => ipl\Sql\Adapter
[postfix:protected] =>
[uppercaseFirst:protected] => 1
)
)
)
)
您可以使用PDO 。
關於PDO入門的非常不錯的文章。
$strQuery = "SELECT
`user`,
COUNT(0) as Total_Count,
MAX(range_count) Max_Range_Count
FROM (
SELECT
a.`user`,
a.change_time,
COUNT(0) range_count
FROM audit_log a
INNER JOIN audit_log b ON a.`user` = b.`user`
WHERE b.change_time BETWEEN a.change_time AND a.change_time + INTERVAL 30 MINUTE
GROUP BY a.`user`, a.change_time
) AS user_range_count
GROUP BY `user`";
foreach ($conn->query($strQuery) as $row) {
print_r($row);
}
首先在incinga中安裝任何數據庫資源模塊,例如Icinga Web 2-IPL ,它將幫助我們在incinga中調用pdo查詢,然后您可以檢查其文檔如何運行具有綁定參數的任何語句。 例:
use ipl\Sql\Select;
use PDO;
$stmt = 'Select * from table where id=?';
$id=1;
$execute=$this->dbConnection->fetchAll($stmt,[$id]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.