面向對象的php操作mssql類

y3c5 9年前發布 | 2K 次閱讀 PHP

<?php

/ 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_objectvars($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; } } ?></pre>

 本文由用戶 y3c5 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!