2017-06-02 93 views
-2

我正在爲體驗做一個小型的數據庫應用程序,但是我實際上從我的PHP代碼訪問數據庫時遇到問題。我試過訪問文件名,訪問單獨的mysql文件。但是,無論我做什麼,我得到一個錯誤信息從PHP代碼訪問MySQL數據庫

<?php 

$password = md5("passhash"); 
$user = array("name"=> "JohnDoe", "password" => $password, "email" => "[email protected]"); 


try { 
    $db = new PDO("mysql:host=localhost; dbname=users.ibd; port=8889", "root", "root"); 
    ... 
} 

無法connectSQLSTATE [HY000] [1049]未知數據庫「users.ibd」

你們是否有此錯誤信息的經驗和在我的PDO初始化中聲明數據庫名稱時,我可能會做錯什麼?

+2

看起來好像沒有一個名爲users.ibd的數據庫。你確定這是數據庫名稱嗎? –

+0

也許數據庫名稱只是「用戶」? –

+2

**警告**:編寫您自己的訪問控制層並不容易,並且有很多機會使其嚴重錯誤。請不要在[Laravel](http://laravel.com/)等任何現代開發框架(http://codegeekz.com/best-php-frameworks-for-developers/)上編寫自己的認證系統,內置了強大的[認證系統](https://laravel.com/docs/5.4/authentication)。絕對不會遵循[推薦的安全最佳實踐](http://www.phptherightway.com/#security),並且從不使用無用的弱散列(如SHA1或MD5 **)存儲密碼。 – tadman

回答

1

請檢查您的數據庫名稱...如果您的數據庫列表中存在。 嘗試使用命令檢查mysql控制檯SHOW DATABASES;

您應該連接到mysql控制檯上的表,而不是mysql文件夾中的文件。

-1

我看了。 .ibd實際上是拋棄了數據庫名稱。謝謝你們的幫助。