Take two:
[www-register-wizard.git] / database / drivers / mssql / mssql_result.php
1 <?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');\r
2 /**\r
3  * CodeIgniter\r
4  *\r
5  * An open source application development framework for PHP 4.3.2 or newer\r
6  *\r
7  * @package             CodeIgniter\r
8  * @author              ExpressionEngine Dev Team\r
9  * @copyright   Copyright (c) 2008, EllisLab, Inc.\r
10  * @license             http://codeigniter.com/user_guide/license.html\r
11  * @link                http://codeigniter.com\r
12  * @since               Version 1.0\r
13  * @filesource\r
14  */\r
15 \r
16 // ------------------------------------------------------------------------\r
17 \r
18 /**\r
19  * MS SQL Result Class\r
20  *\r
21  * This class extends the parent result class: CI_DB_result\r
22  *\r
23  * @category    Database\r
24  * @author              ExpressionEngine Dev Team\r
25  * @link                http://codeigniter.com/user_guide/database/\r
26  */\r
27 class CI_DB_mssql_result extends CI_DB_result {\r
28         \r
29         /**\r
30          * Number of rows in the result set\r
31          *\r
32          * @access      public\r
33          * @return      integer\r
34          */\r
35         function num_rows()\r
36         {\r
37                 return @mssql_num_rows($this->result_id);\r
38         }\r
39         \r
40         // --------------------------------------------------------------------\r
41 \r
42         /**\r
43          * Number of fields in the result set\r
44          *\r
45          * @access      public\r
46          * @return      integer\r
47          */\r
48         function num_fields()\r
49         {\r
50                 return @mssql_num_fields($this->result_id);\r
51         }\r
52 \r
53         // --------------------------------------------------------------------\r
54 \r
55         /**\r
56          * Fetch Field Names\r
57          *\r
58          * Generates an array of column names\r
59          *\r
60          * @access      public\r
61          * @return      array\r
62          */\r
63         function list_fields()\r
64         {\r
65                 $field_names = array();\r
66                 while ($field = mssql_fetch_field($this->result_id))\r
67                 {\r
68                         $field_names[] = $field->name;\r
69                 }\r
70                 \r
71                 return $field_names;\r
72         }\r
73 \r
74         // --------------------------------------------------------------------\r
75 \r
76         /**\r
77          * Field data\r
78          *\r
79          * Generates an array of objects containing field meta-data\r
80          *\r
81          * @access      public\r
82          * @return      array\r
83          */\r
84         function field_data()\r
85         {\r
86                 $retval = array();\r
87                 while ($field = mssql_fetch_field($this->result_id))\r
88                 {       \r
89                         $F                              = new stdClass();\r
90                         $F->name                = $field->name;\r
91                         $F->type                = $field->type;\r
92                         $F->max_length  = $field->max_length;\r
93                         $F->primary_key = 0;\r
94                         $F->default             = '';\r
95                         \r
96                         $retval[] = $F;\r
97                 }\r
98                 \r
99                 return $retval;\r
100         }\r
101 \r
102         // --------------------------------------------------------------------\r
103 \r
104         /**\r
105          * Free the result\r
106          *\r
107          * @return      null\r
108          */             \r
109         function free_result()\r
110         {\r
111                 if (is_resource($this->result_id))\r
112                 {\r
113                         mssql_free_result($this->result_id);\r
114                         $this->result_id = FALSE;\r
115                 }\r
116         }\r
117 \r
118         // --------------------------------------------------------------------\r
119 \r
120         /**\r
121          * Data Seek\r
122          *\r
123          * Moves the internal pointer to the desired offset.  We call\r
124          * this internally before fetching results to make sure the\r
125          * result set starts at zero\r
126          *\r
127          * @access      private\r
128          * @return      array\r
129          */\r
130         function _data_seek($n = 0)\r
131         {\r
132                 return mssql_data_seek($this->result_id, $n);\r
133         }\r
134         \r
135         // --------------------------------------------------------------------\r
136 \r
137         /**\r
138          * Result - associative array\r
139          *\r
140          * Returns the result set as an array\r
141          *\r
142          * @access      private\r
143          * @return      array\r
144          */\r
145         function _fetch_assoc()\r
146         {\r
147                 return mssql_fetch_assoc($this->result_id);\r
148         }\r
149         \r
150         // --------------------------------------------------------------------\r
151 \r
152         /**\r
153          * Result - object\r
154          *\r
155          * Returns the result set as an object\r
156          *\r
157          * @access      private\r
158          * @return      object\r
159          */\r
160         function _fetch_object()\r
161         {\r
162                 return mssql_fetch_object($this->result_id);\r
163         }\r
164 \r
165 }\r
166 \r
167 \r
168 /* End of file mssql_result.php */\r
169 /* Location: ./system/database/drivers/mssql/mssql_result.php */