我一直在寻找答案一段时间,但没有运气:我在这个函数中定义了一个变量,我尝试在同一个函数中使用它,但 PHP 给了我这个:
注意:
未定义的变量:C:''xampp''htdocs''liquidity''include''layout''DBBroker.php第 42 行中的查询 警告:mysqli_query():
C:''xampp''htdocs''liquidity''include''layout''DBBroker.php第 42 行中的空查询
这怎么可能?我定义它并在同一个函数中使用它。该函数是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);
}
}
?>
如果你看这一行:
$query = "SELECT * FROM clan WHERE username='".$username."';".
这实际上不是关闭字符串,而是使用连接运算符。
试试这个:
$query = "SELECT * FROM clan WHERE username='".$username."'";