簡體   English   中英

PHP無限循環問題

[英]PHP infinite loop issue

我可以得到正確的代碼,但我希望能夠使用不起作用的對象和方法。 重復數據庫中的相同條目,直到查詢崩潰。 我看到其他人在while語句中有查詢,但我認為我使用的方法應該只查詢一次語句,但我可能錯了。 謝謝。

<?php
include '/functions/MySQL.php';
$MySQL = new MySQL;
$con = mysqli_connect("host","user","password","db");
$result = mysqli_query($con,"SELECT * FROM reportLogger WHERE Moderator='jackginger'");
while($row = mysqli_fetch_array($MySQL->getReports('jackginger'))) {
    $time           = $row['Time'];
    $moderator      = $row['Moderator'];
    $reason         = $row['Reason'];

    // Now for each looped row

    echo "<tr><td>".$time."</td><td>".$moderator."</td><td>".$reason."</td></tr>";
}
?>

單獨的課程

public function __construct(){
        $this->con = mysqli_connect("localhost","root","pass","Minecraft");
        // Check connection
        if (mysqli_connect_errno()) {
            echo "Failed to connect to MySQL: " . mysqli_connect_error();
        }
    }

    public function getUUID($username) {
        $result = mysqli_query($this->con,"SELECT UUID FROM loginLogger WHERE Username='" . $username . "'");
        return mysqli_fetch_array($result)[0];
    }

    public function getReports($username) {
        $result = mysqli_query($this->con,"SELECT * FROM reportLogger WHERE UUID='" . $this->getUUID($username) . "'");
        return $result;
    }

每次你打電話while($row = mysqli_fetch_array($MySQL->getReports('jackginger')))你正在進行一個新的查詢,所以它一遍又一遍地取出同樣的東西。

一個解決方案可能是:

<?php
include '/functions/MySQL.php';
$MySQL = new MySQL;
$con = mysqli_connect("host","user","password","db");
$result = mysqli_query($con,"SELECT * FROM reportLogger WHERE Moderator='jackginger'");
$store = $MySQL->getReports('jackginger');
while($row = mysqli_fetch_array($store)) {
    $time           = $row['Time'];
    $moderator      = $row['Moderator'];
    $reason         = $row['Reason'];

    // Now for each looped row

    echo "<tr><td>".$time."</td><td>".$moderator."</td><td>".$reason."</td></tr>";
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM