以下代碼僅包含第一個文件。目前總共有2個文件將在未來更多。我將如何編碼以包含所有文件?爲什麼這不包括所有文件?
該代碼有效,但只包含1個文件,因此它不會按照預期的方式工作。
$result = $this->db->query("SELECT directory FROM modules WHERE enabled = {es} ORDER BY id ASC", 'yes');
$num = $result->numberOfRows;
while($row = $result->getArray())
{
if($num != 0)
{
if(file_exists($this->root . '/modules/' . $row['directory']))
{
include($this->root . '/modules/' . $row['directory'] . '/' . $row['directory'] . '.php');
}
else
{
$this->db->query("DELETE FROM modules WHERE directory = {es}", $row['directory']);
}
}
}
編輯:我發現這個問題。我所包含的文件使用相同的變量「$ result」和「$ row」在其中包含sql查詢。所以當它包含並執行這些文件時,它們就會彼此重置。
除了文件不存在或數據庫中的值與文件不匹配之外,沒有理由應該包括它。 – DevZer0
即時通訊不知道。嘗試回顯$ this-> root。 '/ modules /'。 $ row ['directory']確保路徑正確。另外,你爲什麼要檢查num!= 0,你的while循環已經處理了這個 – Kris