diff --git a/sqlsrv.php b/sqlsrv.php index d98930a..6f4c822 100644 --- a/sqlsrv.php +++ b/sqlsrv.php @@ -1,10 +1,14 @@ conn = @sqlsrv_connect($server, array('UID' => $user ,'PWD'=> $pass, 'Database' => $dbname)); - if($this->conn === false) { + function __construct($server, $user, $pass, $dbname) + { + $this->conn = @sqlsrv_connect($server, array('UID' => $user, 'PWD' => $pass, 'Database' => $dbname)); + if ($this->conn === false) { $this->error_log[] = sqlsrv_errors(); - die(); + throw new Exception($this->error_log[0][0]["message"]); } } //query source - function query($sql){ - $stmt = sqlsrv_query($this->conn, $sql); + function query($sql, $params = null) + { + $stmt = sqlsrv_query($this->conn, $sql, $params); $this->sql_log[] = $sql; - if($stmt === false) { + if ($stmt === false) { $this->error_log[] = sqlsrv_errors(); + throw new Exception($this->error_log[0][0]["message"]); } else { $this->query_id = $stmt; $this->num_rows = $this->affectedRows(); + while ($row = @sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { + $data[] = $row; + } + + if (isset($data)) { + return $data; + } } } - //fetch data - function fetch_all($sql) { - $this->query($sql); - $data = array(); - while($row = @sqlsrv_fetch_array($this->query_id, SQLSRV_FETCH_ASSOC)) { - $data[] = $row; - } - return $data; - } - // $DB->count(select * from users) - function fetch_one($sql){ - - $this->query($sql); - return sqlsrv_fetch_array($this->query_id, SQLSRV_FETCH_ASSOC); - - } // $DB->count(select count(*) from users) - function count($sql){ + function count($sql) + { - $count=$this->fetch_one($sql); + $count = $this->fetch_one($sql); return $count[""]; - } - function affectedRows() { + function affectedRows() + { return ($this->query_id) ? @sqlsrv_num_rows($this->query_id) : false; } -} -?> \ No newline at end of file + + //$DB->fetch_all("SELECT * FROM table WHERE name= ?", array("name")); + function fetch_all($sql, $params = null) + { + + $stmt = sqlsrv_query($this->conn, $sql, $params); + if ($stmt === false) { + throw new Exception($this->error_log[0][0]["message"]); + } else { + $data = array(); + while ($row = @sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) { + $data[] = $row; + } + return $data; + } + } + + + // $DB->fetch_one(select * from users) + function fetch_one($sql, $params = null) + { + + $stmt = sqlsrv_query($this->conn, $sql, $params); + if ($stmt === false) { + throw new Exception($this->error_log[0][0]["message"]); + } else { + return sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC); + } + } +}