Dzięki za info
<?php class MySQLConnection { private $sqlHost; private $sqlUser; private $sqlPassword; private $sqlDatabase; private $mySqlLinkIdentifier = FALSE; private $numQueries = 0; public $UsedTime = 0; public function __construct($sqlHost, $sqlUser, $sqlPassword, $sqlDatabase = FALSE) { $this->sqlHost = $sqlHost; $this->sqlUser = $sqlUser; $this->sqlPassword = $sqlPassword; $this->sqlDatabase = $sqlDatabase; } public function __destruct() { $this->Close(); } public function Connect() { if($this->mySqlLinkIdentifier !== FALSE) { return $this->mySqlLinkIdentifier; } $this->mySqlLinkIdentifier = mysql_connect($this->sqlHost, $this->sqlUser, $this->sqlPassword, TRUE); // Open new link on every call if($this->mySqlLinkIdentifier === FALSE) { return FALSE; } if($this->sqlDatabase !== FALSE) { } return $this->mySqlLinkIdentifier; } public function Close() { if($this->mySqlLinkIdentifier !== FALSE) { $this->mySqlLinkIdentifier = FALSE; } } public function GetLinkIdentifier() { return $this->mySqlLinkIdentifier; } public function Query($query) { $this->numQueries++; if( $result === false ){ } return $result; } public function FreeResult($result) { } public function FetchArray($result) { } public function FetchArrayAll($result){ if($this->GetNumRows($result)) { while($row = $this->FetchArray($result)) { $retval[] = $row; } } return $retval; } public function GetNumRows($result) { } public function GetNumAffectedRows() { } // Helper methods public function QueryFetchArrayAll($query) { $result = $this->Query($query); if($result === FALSE) { return FALSE; } $retval = $this->FetchArrayAll($result); $this->FreeResult($result); return $retval; } public function QueryFirstRow($query) { $result = $this->Query($query); if($result === FALSE) { return FALSE; } $retval = FALSE; $row = $this->FetchArray($result); if($row !== FALSE) { $retval = $row; } $this->FreeResult($result); return $retval; } public function QueryFirstValue($query) { $row = $this->QueryFirstRow($query); if($row === FALSE) { return FALSE; } return $row[0]; } public function GetErrorMessage() { } public function EscapeString($string) { { foreach ($string as $key => $value) { $str[$key] = $this->EscapeString($value); } return $str; } return get_magic_quotes_gpc() ? $string : mysql_real_escape_string($string, $this->mySqlLinkIdentifier); } function GetNumberOfQueries() { return $this->numQueries; } public function BeginTransaction() { $this->Query("SET AUTOCOMMIT=0"); $this->Query("BEGIN"); } public function CommitTransaction() { $this->Query("COMMIT"); $this->Query("SET AUTOCOMMIT=1"); } public function RollbackTransaction() { $this->Query("ROLLBACK"); $this->Query("SET AUTOCOMMIT=1"); } public function GetFoundRows() { return $this->QueryFirstValue("SELECT FOUND_ROWS()"); } public function GetLastInsertId() { return $this->QueryFirstValue("SELECT LAST_INSERT_ID()"); } public function QueryFetchArray($query, $all = false, $useCache = true) { $tempKey = sha1($query . ($all === true ? 'all' : 'notAll')); $temp = $this->QueryFetchArrayTemp[$tempKey]; if ($temp && $useCache === true) { } else { $queryResult = $this->Query($query); $result = $all === true ? $this->FetchArrayAll($queryResult) : $this->FetchArray($queryResult); return $result; } } } ?>