我得到使用數據庫功能我的PHP網頁以下錯誤:mysql_real_escape_string與單身人士數據庫在PHP?
警告:mysql_real_escape_string() [function.mysql實時逃逸字符串]:拒絕訪問用戶 「阿帕奇」 @」本地主機'
我知道我必須有一個工作連接到我的數據庫,但這裏是'問題'。連接到我的數據庫類看起來是這樣的:
class Database
{
private static $instance = null;
private static $conn;
private function __construct()
{
try {
self::$conn = new mysqli('localhost', 'root', 'user', 'database');
} catch (Exception $ex) {
$errorpager = new CustomPageGenerator();
$errorpager->generateErrorPage("Connection to database failed. Please try again later.");
}
}
public static function getInstance()
{
try {
if (self::$instance == null) {
self::$instance = new Database();
}
return self::$instance;
} catch (Exception $ex) {
$errorpager = new CustomPageGenerator();
$errorpager->generateErrorPage("Connection to database failed. Please try again later.");
return false;
}
}
public function query($sql)
{
try {
return self::$conn->query($sql);
} catch (Exception $ex) {
$errorpager = new CustomPageGenerator();
$errorpager->generateErrorPage("Connection to database failed. Please try again later.");
return false;
}
}
}
正如你所看到的,我使用Singleton模式這一點。但即使我把我的代碼的一開始我打開連接我不斷收到此錯誤
Database::getInstance();
。如何正確打開連接以便我可以使用mysql_real_escape_string()函數?
謝謝。
這裏是樂修復
添加此功能可將數據庫類:
public static function getConnection()
{
self::getInstance();
return self::$conn;
}
更換一次單mysql_real_escape_string(與mysqli_real_escape_string(數據庫::的getConnection(),
首先在'mysqli'的函數調用中缺少''',這意味着不會創建與數據庫的連接。當你使用'new mysqli('localhost','root','user','database')連接數據庫時,你會得到任何錯誤;' – vedarthk 2012-04-21 17:24:17
是的,那是因爲我「審查了」我的真實用戶名和密碼,刪除了a)。修復了這個錯誤。 – Matthias 2012-04-21 17:27:24
使用'new mysqli('localhost','root','user','database')連接到數據庫時會出錯嗎? – vedarthk 2012-04-21 17:30:50