-
- /*
- Untested
- */
- Class Database_mssql {
- var $database = NULL;
- var $sqls = NULL;
- var $host = NULL;
- var $username = NULL;
- var $password = NULL;
- var $databaseName = NULL;
- var $link = NULL;
- var $queries = NULL;
- var $errors = NULL;
- function Database_mssql ($host, $username, $password, $database) {
- $this->host = $host;
- $this->username = SHA1 ($username);
- $this->password = SHA1 ($password);
- $this->database = $database;
- $this->link = "";
- $this->queries = Array ();
- $this->errors = Array ();
- $this->sqls = Array ();
- $this->link = Mssql_connect ($this->host, $username, $password);
- mssql_select_db ($this->database, $this->link);
- }
- function Justquery ($sql) {
- $this->queries[] = $sql;
- Return Mssql_query ($sql, $this->link);
- }
- function Loadresult ($sql) {
- if (! ( $cur = $this->justquery ($sql))) {
- return null;
- }
- $ret = null;
- if ($row = Mssql_fetch_row ($cur)) {
- $ret = $row [0];
- }
- Mssql_free_result ($cur);
- return $ret;
- }
- function Loadfirstrow ($sql) {
- if (! ( $cur = $this->justquery ($sql))) {
- return null;
- }
- $ret = null;
- if ($row = Mssql_fetch_object ($cur)) {
- $ret = $row;
- }
- Mssql_free_result ($cur);
- return $ret;
- }
- function Insertid () {
- Return mysql_insert_id ($this->link);
- }
- function query ($sql, $key = "", $returns = True, $batch = False) {
- $sqls = $result = Array ();
- Switch ($batch) {
- Default
- Case true:
- foreach ($sql as $index = = $query) {
- $this->queries[] = $query;
- $answer = Mssql_query ($query, $this->link);
- if (! $answer) {
- $this->errors[] = "n/a";//odbc_errormsg ($this->link);
- }
- else {
- if ($returns! = False) {
- if (Mssql_num_rows ($answer) > 0) {
- while ($row = Mssql_fetch_object ($answer)) {
- if ($key! = "") {
- $result [$index] [$row-$key] = $row;
- }
- else {
- $result [$index] = $row;
- }
- }
- } else {}
- } else {}
- }
- }
- Break
- Case false:
- $this->queries[] = $sql;
- $answer = Mssql_query ($sql, $this->link);
- if (! $answer) {
- $this->errors[] = "n/a";//odbc_errormsg ($this->link);
- $result = false;
- }
- else {
- if ($returns! = False) {
- if (Mssql_num_rows ($answer) > 0) {
- while ($row = Mssql_fetch_object ($answer)) {
- if ($key! = "") {
- $result [$row, $key] = $row;
- }
- else {
- $result [] = $row;
- }
- }
- } else {}
- }
- else {
- $result = true;
- }
- }
- Break
- }
- return $result;
- }
- function Loadobject ($sql, & $object) {
- if ($object! = null) {
- if (! ( $cur = $this->justquery ($sql))) {
- return false;
- } else {}
- if ($array = Mssql_fetch_array ($cur)) {
- Mssql_free_result ($cur);
- $this->bindarraytoobject ($array, $object);
- return true;
- }
- else {
- return false;
- }
- }
- else {
- if ($cur = $this->justquery ($sql)) {
- if ($object = Mssql_fetch_object ($cur)) {
- Mssql_free_result ($cur);
- return true;
- }
- else {
- $object = null;
- return false;
- }
- }
- else {
- return false;
- }
- }
- }
- function Bindarraytoobject ($array, & $obj) {
- if (!is_array ($array) | |!is_object ($obj)) {
- return (false);
- }
- foreach (Get_object_vars ($obj) as $k = = $v) {
- if (substr ($k, 0, 1) = = ' _ ') {
- $ak = $k;
- if (Isset ($array [$ak])) {
- $obj $k = $array [$ak];
- }
- }
- }
- return true;
- }
- function Formatcsvcell ($data) {
- $useQuotes = false;
- $quotable = Array (
- "" "" "" "" "",
- "," = ",",
- "
- "="
- "
- );
- foreach ($quotable as $char = = $repl) {
- if (eregi ($char, $data)) {
- $useQuotes = true;
- } else {}
- }
- if ($useQuotes = = True) {
- foreach ($quotable as $char = = $repl) {
- $data = Str_replace ($char, $repl, $data);
- }
- $data = "". $data. """;
- }
- else {
- }
- return $data;
- }
- }
- ?>
Copy Code
|
Object-oriented, PHP, MSSQL