我被小consfused建立,我真的需要對代碼:)
這是我翻譯功能一些新鮮的觀點:到服務器的鏈接無法爲不明原因
function __($string) {
isset($_SESSION['lang']) ? $lang = $_SESSION['lang'] : $lang = DEFAULT_LANG;
$oDb = new Model_Database('translations');
$aLang = $oDb->getById($string);
return $aLang[$lang];
}
這是Model_Database,它使用:
class Model_Database {
static private $connection = '';
private $aConfig;
private $sTable;
public function __construct($sTable = '') {
$this->aConfig = Core_Config::GetConfigArray('database');
if(empty(self::$connection)) {
self::$connection = mysql_connect($this->aConfig['host'], $this->aConfig['user'], $this->aConfig['pass']);
}
mysql_select_db($this->aConfig['db'], self::$connection);
$this->sTable = TABLE_PREFIX . $sTable;
}
public function getById($id) {
$query = 'SELECT * FROM `' . $this->sTable . '` WHERE `id` = "' . $id . '"';
$result = mysql_fetch_array(mysql_query($query));
return $result;
}
public function getByAny($column, $value) {
$query = 'SELECT * FROM `' . $this->sTable . '` WHERE `' . $column . '` = "' . $value .'"';
$result = mysql_fetch_array(mysql_query($query));
return $result;
}
public function __destruct() {
if(gettype(self::$connection) == "resource") {
mysql_close(self::$connection);
}
self::$connection = '';
}
}
這是Model_Login也使用大tabase:
class Model_Login {
private $oDatabase;
public function __construct() {
$this->oDatabase = new Model_Database('users');
}
public function login($login, $password) {
$aUser = $this->oDatabase->getByAny('login', $login);
if(md5($password) == $aUser['password']) {
$_SESSION['login'] = $login;
$_SESSION['password'] = md5($password);
return true;
}
else
return false;
}
}
的問題是,當我嘗試使用翻譯功能在文件中負責登錄,我得到錯誤Access denied for user 'ODBC'@'localhost'
和A link to the server could not be established
。
起初我遇到了關閉和打開新連接和登錄工作但翻譯沒有問題。所以我找到了將連接記憶爲靜態變量的解決方案。翻譯開始工作,但登錄已停止。
任何建議?
編輯:錯誤顯示出來,當我點擊「登錄」,這創造了新的Model_Login並調用方法登錄()
編輯2:如果您需要任何更多的代碼來重現錯誤,我可以連共享整個項目,就像你看到的那樣,它處於早期建設階段,只是做基本的功能。當然,如果需要,我可以只發一些更多的代碼,只需指定你需要什麼來幫助我:)