我想用PDO連接到mysql,但是當我嘗試創建一個PDO實例時,它導致代碼打破。我試圖把它放在try和catch,但它仍然打破了代碼/我得到一個網頁說:「本地主機頁面不能正常工作」創建一個PDO實例導致錯誤
protected $conn;
$dsn = "mysql:host=localhost;dbname=Mydatabase";
$this->conn = new PDO($dsn, "admin", "test2016");
如果我嘗試連接到MySQL這樣的:
$conn = mysqli_connect("localhost", "admin", "test2016");
它工作正常。
我不知道爲什麼新的PDO導致該錯誤。
class Database {
protected $conn;
function __construct() {
$this->init();
}
function init(){
try{
$this->conn= $this->connectDB("localhost","Mydatabase","admin","test2016"); // the here
$this->conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "Connected successfully";
}catch(PDOException $e){
echo "Connection failed: " . $e->getMessage();
}
}
function connectDB($servername,$database,$username,$password){
$dsn = "mysql:host=localhost;dbname=Mydatabase";
return new PDO($dsn, $username, $password);// i am not sure why new pdo is the cause of the problem
// $conn = mysqli_connect($servername, $username, $password);
//if (!$conn) {
// die("Connection failed: " . mysqli_connect_error());
//}
//echo "Connected successfully";
}
爲什麼這裏有mysqli_和PDO?如果你混合這些,你不能。 –
我希望你在這裏使用分號'protected $ conn' – devpro
我沒有在同一時間使用它們。我正在嘗試僅使用其中一個PDO。我正在使用測試,如果MySQL劑量工作。 @ Fred-ii- – user629283