0

Web ページを古いシステムから新しいシステムに移動したところ、データベースへの接続に問題が発生しました。バージョンは、Mysql 5.1.67 および phpMyadmin 3.4.3.2 です。問題はどこだ?

ウェブサイト上:

警告: mysqli::mysqli() [mysqli.mysqli]: (HY000/2002): /home/do031500 のソケット '/var/lib/mysql/mysql.sock' (2) を介してローカル MySQL サーバーに接続できません/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();
}


}
4

1 に答える 1

0

最初の考えは、接続変数の 1 つによるものです。新しいサーバーの情報がすべて正しいことを再確認しましたか? サーバー、ポート、ユーザー名、パスワード、データベース、テーブル?

于 2013-10-12T22:40:05.447 に答える