我一直在尝试连接到 mysql 数据库,它使用了以下代码:
$host = "localhost";
$username = "skander";
$password = "xxxx";
$db = "ishweb_skander";
$conn = mysqli_connect($host, $username, $password,$db);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "connected successfully";
然后我尝试引入一些其他组件以促进进一步编码:
class Database {
private $host = "localhost";
private $username = "skander";
public $password = "xxxxxx";
private $db = "ishweb_skander";
public $conn;
public function dbConnection()
{
$conn = mysqli_connect($host, $username, $password,$db);
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "connected successfully";
加载相关网站后,我收到以下信息:
警告:mysqli_connect(): (HY000/1045): Access denied for user ''@'localhost' (using password: NO) in /home/ishweb/www/students/projects/skander/dbconfig.php on line 13 Connection failed : 用户 ''@'localhost' 访问被拒绝(使用密码:NO)
为什么 ?
我认为这里的问题是范围。您正在设置类变量,然后当您尝试在函数中引用它们时,您没有使用$this->host
例如,而是使用$host
. 该$host
函数内的变量尚未初始化函数的范围内的值。
我还没有测试下面的代码,但我相信在你的情况下它会是这样的:
class Database {
private $host = "localhost";
private $username = "skander";
public $password = "xxxxxx";
private $db = "ishweb_skander";
public $conn;
public function dbConnection()
{
$this->conn = mysqli_connect($this->host, $this->username, $this->password,$this->db);
if (!$this->conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "connected successfully";
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句