2013-10-12 86 views
0

我感動從舊體制到新的我的網頁,我有現在的問題與到數據庫的連接。版本是:Mysql 5.1.67和phpMyadmin 3.4.3.2。哪裏有問題?無法連接到數據庫服務器

警告:mysqli的:: mysqli的()[mysqli.mysqli]:(HY000/2002):

網站上

無法通過套接字連接到本地MySQL服務器「的/ var/lib中/ MySQL的在第13行 /home/do031500/www_root/lib/database.inc.php /mysql.sock」(2)無法連接到數據庫服務器

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變量。使用'$' – cgTag

+0

嘿,沒有問題。問題是我有關於數據庫服務器的更新信息,地址爲dbserver,用戶名,密碼。現在它工作 – patrik87

回答

0

初始人們認爲這是由於你的一個連接變量。你是否仔細檢查了你的新服務器的所有信息都正確?服務器,端口,用戶名,密碼,數據庫,表?

+0

我有服務器地址,用戶名,數據庫和表,但我需要更新那裏嗎?或者它是自動的? (舊的和新的DB之間的不同密碼) – patrik87

+0

是的......如果你的mysql服務器的密碼在服務器之間不同,你需要更新它們。我不知道在程序中設置這些變量的位置(dbServer,dbUser,dbPassword,dbDatabase),但是如果新服務器上的設置不同,它們將需要更改。 – kevindeleon

+0

謝謝。我沒有做這個網站,所以它會很難。 – patrik87

相關問題