【发布时间】:2017-12-19 16:56:15
【问题描述】:
我正在使用 mysql 使用这个类,但意识到它已被弃用。我正在尝试使用 PDO 或 mysqli 让它工作,但我不能 100% 确定如何让它工作。
class DB {
private $link;
private $host, $username, $password, $database;
public function __construct($host, $username, $password, $database){
$this->host = $host;
$this->username = $username;
$this->password = $password;
$this->database = $database;
$this->link = mysqli_connect($this->host, $this->username, $this->password)
OR die("There was a problem connecting to the database.");
mysqli_select_db( $this->link,$this->database)
OR die("There was a problem selecting the database.");
return true;
}
public function query($query) {
$result = mysqli_query($link,$query);
if (!$result) die('Invalid query: ' . mysqli_error());
return $result;
}
public function __destruct() {
mysqli_close($this->link)
OR die("There was a problem disconnecting from the database.");
}
public function gettingDepartments(){
$db = new DB("localhost", "root", "", "visitorform");
$result = $db->query("SELECT * FROM tb_user_dept");
return $result;
}
}
这是我得到的错误:
警告:mysqli_query() 期望参数 1 为 mysqli,给定 null。 mysqli_error() 只需要 1 个参数,给定 0
【问题讨论】:
-
您将一个名为
$link的变量传递给mysqli_query(),但没有在任何地方设置它... -
我猜
$result = mysqli_query($link,$query);应该是$result = mysqli_query($this->link,$query); -
很高兴看到有人意识到它的贬值并且没有完全忽视这一事实。
-
@AlexK。它肯定会在 SO 上做出令人耳目一新的变化
-
非常感谢你们。它正在工作。