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
| <?php
// Pré-requis
require_once $_SERVER["DOCUMENT_ROOT"] . '/Model/iSQL.php';
class MSSQL implements iSQL {
private $co;
// Méthodes principales
public function sql_connect($server, $database, $login, $password) {
$connectionInfo = array("Database" => $database,
"UID" => $login, "PWD" => $password);
$conn = sqlsrv_connect($server, $connectionInfo);
if ($conn) {
$this->co = $conn;
return true;
}
return false;
}
public function sql_close() {
if ($this->co != NULL)
sqlsrv_close($this->co);
}
function sql_request($query, $params = null) {
if ($this->co != null) {
$datas = NULL;
$stmt = sqlsrv_query($this->co, $query, $params);
if ($stmt != NULL) {
$i = 0;
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$datas[$i] = $row;
++$i;
}
sqlsrv_free_stmt($stmt);
return $datas;
}
}
return NULL;
}
function sql_view($viewName) {
return $this->sql_request('SELECT * FROM ' . $viewName);
}
function sql_function($functionName, $params) {
if (sizeof($params) == 1)
$query = "SELECT * FROM $functionName (?)";
else if (sizeof($params) == 2)
$query = "SELECT * FROM $functionName (?, ?)";
else {
$query = "SELECT * FROM $functionName (?";
for ($i = 1; $i < sizeof($params); ++$i)
$query .= ', ?';
$query .= ')';
}
return $this->sql_request($query, $params);
}
function sql_procedure($procedureName, $params = NULL) {
if ($this->co != NULL) {
if ($params == NULL)
$query = "{call $procedureName }";
else if (sizeof($params) == 1)
$query = "{call $procedureName (?)}";
else if (sizeof($params) == 2)
$query = "{call $procedureName (?, ?)}";
else {
$query = "{call $procedureName (?";
for ($i = 1; $i < sizeof($params); ++$i)
$query .= ', ?';
$query .= ')}';
}
$datas = NULL;
$stmt = sqlsrv_query($this->co, $query, $params);
if ($stmt != NULL) {
$i = 0;
while ($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
$datas[$i] = $row;
++$i;
}
sqlsrv_free_stmt($stmt);
return $datas;
}
return NULL;
}
return NULL;
} |
Partager