PHP未定义变量在同一个函数内

dze*_*siz 1 php mysqli scope

我一直在寻找答案,但没有运气:我在这个函数中定义了一个变量,我尝试在同一个函数中使用它,但PHP给了我这个:

注意:
未定义的变量:第42行的
C:\ xampp\htdocs\liquidity\includes\layout\DBBroker.php中的查询警告:mysqli_query():C:\ xampp\htdocs\liquidity\includes\layout\DBBroker中的空查询.第42行的PHP

这怎么可能?我定义它并在同一个函数中使用它.该函数是prikaziClanove,它旁边有"//这里问题开始".码:

<?php
    define ("DBHOST", "localhost");
    define("DBUSER", "standard_user");
    define("DBPASS", "standard");
    define("DBNAME", "liquidity");
    class DBBroker {
        private $dbhost;
        private $dbuser;
        private $dbpass;
        private $dbname;
        private $conn;

        function __construct() { //connects to DB and checks the connection
            $this->dbhost = DBHOST;
            $this->dbuser = DBUSER;
            $this->dbpass = DBPASS;
            $this->dbname = DBNAME;

            $this->conn = mysqli_connect($this->dbhost, $this->dbuser, $this->dbpass, $this->dbname);
            if (!$this->conn) {
                die("Došlo je do greške pri konektovanju na bazu: ".mysqli_error($this->conn));
            }
        }

        /*$conn = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);
        if ($conn) {
            die("Došlo je do greške pri konektovanju na bazu: ".mysqli_error($conn));
        }*/

        function chckResult($rs) { //checks the query result of query, $rs=result
            if (!$rs) {
                echo("Upit nije uspešno izvršen.");
            }
        }

        function closeConnection() { //closes the connection
            mysqli_close($connection);
        }

        function prikaziClanove($username) { //here the problem starts
            $query = "SELECT * FROM clan WHERE username='".$username."';".
            $result = mysqli_query($this->conn, $query);
            $this->chckResult($result);
            echo($result);
        }
    }

?>
Run Code Online (Sandbox Code Playgroud)

Mat*_*att 7

如果你看这一行:

$query = "SELECT * FROM clan WHERE username='".$username."';".
Run Code Online (Sandbox Code Playgroud)

这实际上并没有关闭字符串,而是使用连接运算符.

试试这个:

$query = "SELECT * FROM clan WHERE username='".$username."'";
Run Code Online (Sandbox Code Playgroud)