2013-10-12 3 views
0

Я переместил мою веб-страницу из старой системы в новую, и теперь у меня проблема с подключением к базе данных. Версии: Mysql 5.1.67 и phpMyadmin 3.4.3.2. В чем проблема?Не удалось подключиться к серверу базы данных

на сайте:

Внимание: MySQLi :: MySQLi() [mysqli.mysqli]: (HY000/2002): Не удается подключиться к локальному серверу MySQL через гнездо «/ Var/Библиотека/MySQL /mysql.sock»(2) в /home/do031500/www_root/lib/database.inc.php по линии 13 не удалось подключиться к серверу базы данных

database.inc.php:

class CDatabase { 

public $Connected = false; 
private $Mysqli; 
public $Result; 

// Connect to database server 
function Connect() { 
    global $DatabaseSupport; 
    if ($DatabaseSupport) { 
    $this->Mysqli = new mysqli(dbServer, dbUser, dbPassword, dbDatabase); 
    if (mysqli_connect_errno()) { 
     $this->Connected = false; 
     Terminate("Could not connect to database server"); 
     } else { 
     $this->Connected = true; 
     $this->Mysqli->autocommit(FALSE); 
     $this->Mysqli->set_charset("utf8"); 
    } 
    } 
} 

// Disconnect from server 
function Disconnect() { 
    if ($this->Connected) { 
     $this->Mysqli->close(); 
    } 
} 

// Execute query 
function Query($Query) { 
    $this->Result = false; 
    if ($this->Connected) { 
      $this->Result = $this->Mysqli->query($Query, MYSQLI_STORE_RESULT); 
     if (!$this->Result) 
     Terminate('Invalid query: '.$this->Mysqli->error); 
     } 
    return $this->Result; 
} 

// Close query query 
function Close($Datalink) { 
    if ($this->Connected) { 
    mysqli_free_result($Datalink); 
     } 
} 

// Commit 
function Commit() { 
    if ($this->Connected) 
    $this->Mysqli->Commit(); 
} 

// Rollback 
function Rollback() { 
    if ($this->Connected) 
    $this->Mysqli->Rollback(); 
} 

// GetRecordCount 
function RecordCount($DataLink) { 
    if ($this->Connected) 
      return $DataLink->num_rows; 
    else 
    return 0; 
} 

// Get last RecordID 
function GetLastRecordID() { 
    if ($this->Connected) 
      return $this->Mysqli->insert_id; 
    else 
    return false; 
} 

// Get next line from query 
function GetNextLine($Datalink = NULL) { 
    if ($this->Connected) { 
      if ($Datalink != NULL) 
      $this->Result = $Datalink; 
     return $this->Result->fetch_array(MYSQL_ASSOC); 
     } 
} 

// Execute query and return first line 
function QueryFirstLine($Query) { 
    if ($this->Connected) { 
      if ($this->Result = $this->Query($Query)) 
      return $this->Result->fetch_array(MYSQL_ASSOC); 
     } 
} 

// GetField list for current query 
function GetFieldList($Datalink = NULL) { 
    if ($this->Connected) { 
      if ($Datalink != NULL) 
      $this->Result = $Datalink; 
      //$FieldsCount = $this->Result->field_count; 
    $List = NULL; 
    while ($Finfo = $this->Result->fetch_field()) { 
      $List[] = $Finfo->name; 
    } 
     return $List; 
     } 
} 

// encode value 
function EncodeValue($Value) { 
    return $Value; 
} 

// move item 
function MoveItem($SQL, $RecordID, $Forward, $TableName) { 
    $Query = $this->Query($SQL); 
    while ($Line = $this->GetNextLine($Query)) { 
      $List[] .= $Line['RecordID']; 
    } 
    $HasMove = false; 
    for ($i = 0; $i < count($List); $i++) { 
    if ((!$HasMove) && ($List[$i] == $RecordID)) { 
     if ($Forward) { 
     if ($i < count($List)-1) { 
      $a = $List[$i+1]; 
      $List[$i+1] = $List[$i]; 
      $List[$i] = $a; 
      $i++; 
     } 
     } else { 
     if ($i > 0) { 
      $a = $List[$i-1]; 
      $List[$i-1] = $List[$i]; 
      $List[$i] = $a; 
     } 
     } 
     $HasMove = true; 
    } 

    } 

    $cnt = 1; 
     foreach ($List as $Key=>$Value) { 
     $this->Query("update $TableName set OrderNo='".$cnt."' where RecordID='$Value'"); 
    $cnt++; 
    } 
     $this->Commit(); 
} 


} 
+0

'dbServer' не является допустимой переменной PHP. use '$' – cgTag

+0

Эй, проблем не было. Проблема заключалась в том, что у меня была информация об обновлении о сервере БД в документе с адресом dbserver, именем пользователя, паролем. Теперь он работает – patrik87

ответ

0

Инициатива все думал бы из-за одной из ваших переменных соединения. Вы дважды проверили, что у вас есть все сведения о вашем новом сервере? сервер, порт, имя пользователя, пароль, база данных, таблица?

+0

У меня есть адрес сервера, имя пользователя, база данных и таблица, но мне нужно где-то обновлять? Или это автоматически? (другой пароль между старым и новым БД) – patrik87

+0

Да ... если пароль для вашего сервера mysql отличается от серверов, вам необходимо их обновить. Я не знаю, где вы устанавливаете эти переменные в своей программе (dbServer, dbUser, dbPassword, dbDatabase), но их нужно будет изменить, если на вашем новом сервере разные настройки. – kevindeleon

+0

спасибо. Я не делал этого веб-сайта, так что это будет сложно. – patrik87

Смежные вопросы