1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143
|
<?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);
}
|