You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
3.6 KiB
143 lines
3.6 KiB
<?php |
|
/** |
|
* Contract for every database extension supported by phpMyAdmin |
|
*/ |
|
|
|
declare(strict_types=1); |
|
|
|
namespace PhpMyAdmin\Dbal; |
|
|
|
/** |
|
* Contract for every database extension supported by phpMyAdmin |
|
*/ |
|
interface DbiExtension |
|
{ |
|
/** |
|
* connects to the database server |
|
* |
|
* @param string $user user name |
|
* @param string $password user password |
|
* @param array $server host/port/socket/persistent |
|
* |
|
* @return mixed false on error or a connection object on success |
|
*/ |
|
public function connect( |
|
$user, |
|
$password, |
|
array $server |
|
); |
|
|
|
/** |
|
* selects given database |
|
* |
|
* @param string|DatabaseName $databaseName database name to select |
|
* @param object $link connection object |
|
*/ |
|
public function selectDb($databaseName, $link): bool; |
|
|
|
/** |
|
* runs a query and returns the result |
|
* |
|
* @param string $query query to execute |
|
* @param object $link connection object |
|
* @param int $options query options |
|
* |
|
* @return ResultInterface|false result |
|
*/ |
|
public function realQuery(string $query, $link, int $options); |
|
|
|
/** |
|
* Run the multi query and output the results |
|
* |
|
* @param object $link connection object |
|
* @param string $query multi query statement to execute |
|
* |
|
* @return bool |
|
*/ |
|
public function realMultiQuery($link, $query); |
|
|
|
/** |
|
* Check if there are any more query results from a multi query |
|
* |
|
* @param object $link the connection object |
|
*/ |
|
public function moreResults($link): bool; |
|
|
|
/** |
|
* Prepare next result from multi_query |
|
* |
|
* @param object $link the connection object |
|
*/ |
|
public function nextResult($link): bool; |
|
|
|
/** |
|
* Store the result returned from multi query |
|
* |
|
* @param object $link mysql link |
|
* |
|
* @return ResultInterface|false false when empty results / result set when not empty |
|
*/ |
|
public function storeResult($link); |
|
|
|
/** |
|
* Returns a string representing the type of connection used |
|
* |
|
* @param object $link mysql link |
|
* |
|
* @return string type of connection used |
|
*/ |
|
public function getHostInfo($link); |
|
|
|
/** |
|
* Returns the version of the MySQL protocol used |
|
* |
|
* @param object $link mysql link |
|
* |
|
* @return int|string version of the MySQL protocol used |
|
*/ |
|
public function getProtoInfo($link); |
|
|
|
/** |
|
* returns a string that represents the client library version |
|
* |
|
* @return string MySQL client library version |
|
*/ |
|
public function getClientInfo(); |
|
|
|
/** |
|
* Returns last error message or an empty string if no errors occurred. |
|
* |
|
* @param object $link connection link |
|
*/ |
|
public function getError($link): string; |
|
|
|
/** |
|
* returns the number of rows affected by last query |
|
* |
|
* @param object $link the connection object |
|
* |
|
* @return int|string |
|
* @psalm-return int|numeric-string |
|
*/ |
|
public function affectedRows($link); |
|
|
|
/** |
|
* returns properly escaped string for use in MySQL queries |
|
* |
|
* @param mixed $link database link |
|
* @param string $string string to be escaped |
|
* |
|
* @return string a MySQL escaped string |
|
*/ |
|
public function escapeString($link, $string); |
|
|
|
/** |
|
* Prepare an SQL statement for execution. |
|
* |
|
* @param mixed $link database link |
|
* @param string $query The query, as a string. |
|
* |
|
* @return object|false A statement object or false. |
|
*/ |
|
public function prepare($link, string $query); |
|
}
|
|
|