These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more
1 | <?php |
||
2 | |||
3 | /********************************************************************** |
||
4 | * Author: Juergen Bouch� ([email protected]) |
||
5 | * Web...: http://www.juergenbouche.de |
||
6 | * Name..: ezSQL_mysqli |
||
7 | * Desc..: mySQLi component (part of ezSQL database abstraction library) |
||
8 | * |
||
9 | */ |
||
10 | |||
11 | /********************************************************************** |
||
12 | * ezSQL error strings - mySQLi |
||
13 | */ |
||
14 | |||
15 | global $ezsql_mysqli_str; |
||
16 | |||
17 | $ezsql_mysqli_str = array |
||
18 | ( |
||
19 | 1 => 'Require $dbuser and $dbpassword to connect to a database server', |
||
20 | 2 => 'Error establishing mySQLi database connection. Correct user/password? Correct hostname? Database server running?', |
||
21 | 3 => 'Require $dbname to select a database', |
||
22 | 4 => 'mySQLi database connection is not active', |
||
23 | 5 => 'Unexpected error while trying to select database' |
||
24 | ); |
||
25 | |||
26 | /********************************************************************** |
||
27 | * ezSQL Database specific class - mySQLi |
||
28 | */ |
||
29 | |||
30 | if ( ! function_exists ('mysqli_connect') ) die('<b>Fatal Error:</b> ezSQL_mysql requires mySQLi Lib to be compiled and or linked in to the PHP engine'); |
||
31 | if ( ! class_exists ('ezSQLcore') ) die('<b>Fatal Error:</b> ezSQL_mysql requires ezSQLcore (ez_sql_core.php) to be included/loaded before it can be used'); |
||
32 | |||
33 | class ezSQL_mysqli extends ezSQLcore |
||
34 | { |
||
35 | |||
36 | var $dbuser = false; |
||
37 | var $dbpassword = false; |
||
38 | var $dbname = false; |
||
39 | var $dbhost = false; |
||
40 | var $dbport = false; |
||
41 | var $encoding = false; |
||
42 | var $rows_affected = false; |
||
43 | |||
44 | /********************************************************************** |
||
45 | * Constructor - allow the user to perform a qucik connect at the |
||
46 | * same time as initialising the ezSQL_mysqli class |
||
47 | */ |
||
48 | |||
49 | View Code Duplication | function __construct($dbuser='', $dbpassword='', $dbname='', $dbhost='localhost', $encoding='') |
|
0 ignored issues
–
show
|
|||
50 | { |
||
51 | $this->dbuser = $dbuser; |
||
0 ignored issues
–
show
The property
$dbuser was declared of type boolean , but $dbuser is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
52 | $this->dbpassword = $dbpassword; |
||
0 ignored issues
–
show
The property
$dbpassword was declared of type boolean , but $dbpassword is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
53 | $this->dbname = $dbname; |
||
0 ignored issues
–
show
The property
$dbname was declared of type boolean , but $dbname is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
54 | list( $this->dbhost, $this->dbport ) = $this->get_host_port( $dbhost, 3306 ); |
||
0 ignored issues
–
show
3306 is of type integer , but the function expects a boolean .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
55 | $this->encoding = $encoding; |
||
0 ignored issues
–
show
The property
$encoding was declared of type boolean , but $encoding is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
56 | } |
||
57 | |||
58 | /********************************************************************** |
||
59 | * Short hand way to connect to mySQL database server |
||
60 | * and select a mySQL database at the same time |
||
61 | */ |
||
62 | |||
63 | View Code Duplication | function quick_connect($dbuser='', $dbpassword='', $dbname='', $dbhost='localhost', $dbport='3306', $encoding='') |
|
0 ignored issues
–
show
|
|||
64 | { |
||
65 | $return_val = false; |
||
66 | if ( ! $this->connect($dbuser, $dbpassword, $dbhost, $dbport) ) ; |
||
0 ignored issues
–
show
$dbport is of type string , but the function expects a boolean .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
67 | else if ( ! $this->select($dbname,$encoding) ) ; |
||
68 | else $return_val = true; |
||
69 | return $return_val; |
||
70 | } |
||
71 | |||
72 | /********************************************************************** |
||
73 | * Try to connect to mySQL database server |
||
74 | */ |
||
75 | |||
76 | function connect($dbuser='', $dbpassword='', $dbhost='localhost', $dbport=false) |
||
0 ignored issues
–
show
|
|||
77 | { |
||
78 | global $ezsql_mysqli_str; $return_val = false; |
||
79 | |||
80 | // Keep track of how long the DB takes to connect |
||
81 | $this->timer_start('db_connect_time'); |
||
82 | |||
83 | // If port not specified (new connection issued), get it |
||
84 | if( ! $dbport ) { |
||
85 | list( $dbhost, $dbport ) = $this->get_host_port( $dbhost, 3306 ); |
||
0 ignored issues
–
show
3306 is of type integer , but the function expects a boolean .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
86 | } |
||
87 | |||
88 | // Must have a user and a password |
||
89 | if ( ! $dbuser ) |
||
90 | { |
||
91 | $this->register_error($ezsql_mysqli_str[1].' in '.__FILE__.' on line '.__LINE__); |
||
92 | $this->show_errors ? trigger_error($ezsql_mysqli_str[1],E_USER_WARNING) : null; |
||
93 | } |
||
94 | // Try to establish the server database handle |
||
95 | else |
||
96 | { |
||
97 | $this->dbh = new mysqli($dbhost,$dbuser,$dbpassword, '', $dbport); |
||
98 | // Check for connection problem |
||
99 | if( $this->dbh->connect_errno ) |
||
100 | { |
||
101 | $this->register_error($ezsql_mysqli_str[2].' in '.__FILE__.' on line '.__LINE__); |
||
102 | $this->show_errors ? trigger_error($ezsql_mysqli_str[2],E_USER_WARNING) : null; |
||
103 | } |
||
104 | View Code Duplication | else |
|
105 | { |
||
106 | $this->dbuser = $dbuser; |
||
0 ignored issues
–
show
The property
$dbuser was declared of type boolean , but $dbuser is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
107 | $this->dbpassword = $dbpassword; |
||
0 ignored issues
–
show
The property
$dbpassword was declared of type boolean , but $dbpassword is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
108 | $this->dbhost = $dbhost; |
||
109 | $this->dbport = $dbport; |
||
0 ignored issues
–
show
It seems like
$dbport can also be of type integer . However, the property $dbport is declared as type boolean . Maybe add an additional type check?
Our type inference engine has found a suspicous assignment of a value to a property. This check raises an issue when a value that can be of a mixed type is assigned to a property that is type hinted more strictly. For example, imagine you have a variable Either this assignment is in error or a type check should be added for that assignment. class Id
{
public $id;
public function __construct($id)
{
$this->id = $id;
}
}
class Account
{
/** @var Id $id */
public $id;
}
$account_id = false;
if (starsAreRight()) {
$account_id = new Id(42);
}
$account = new Account();
if ($account instanceof Id)
{
$account->id = $account_id;
}
![]() |
|||
110 | $return_val = true; |
||
111 | } |
||
112 | } |
||
113 | |||
114 | return $return_val; |
||
115 | } |
||
116 | |||
117 | /********************************************************************** |
||
118 | * Try to select a mySQL database |
||
119 | */ |
||
120 | |||
121 | function select($dbname='', $encoding='') |
||
0 ignored issues
–
show
|
|||
122 | { |
||
123 | global $ezsql_mysqli_str; $return_val = false; |
||
124 | |||
125 | // Must have a database name |
||
126 | if ( ! $dbname ) |
||
127 | { |
||
128 | $this->register_error($ezsql_mysqli_str[3].' in '.__FILE__.' on line '.__LINE__); |
||
129 | $this->show_errors ? trigger_error($ezsql_mysqli_str[3],E_USER_WARNING) : null; |
||
130 | } |
||
131 | |||
132 | // Must have an active database connection |
||
133 | else if ( ! $this->dbh ) |
||
134 | { |
||
135 | $this->register_error($ezsql_mysqli_str[4].' in '.__FILE__.' on line '.__LINE__); |
||
136 | $this->show_errors ? trigger_error($ezsql_mysqli_str[4],E_USER_WARNING) : null; |
||
137 | } |
||
138 | |||
139 | // Try to connect to the database |
||
140 | else if ( !@$this->dbh->select_db($dbname) ) |
||
141 | { |
||
142 | // Try to get error supplied by mysql if not use our own |
||
143 | if ( !$str = @$this->dbh->error) |
||
144 | $str = $ezsql_mysqli_str[5]; |
||
145 | |||
146 | $this->register_error($str.' in '.__FILE__.' on line '.__LINE__); |
||
147 | $this->show_errors ? trigger_error($str,E_USER_WARNING) : null; |
||
148 | } |
||
149 | else |
||
150 | { |
||
151 | $this->dbname = $dbname; |
||
0 ignored issues
–
show
The property
$dbname was declared of type boolean , but $dbname is of type string . Maybe add a type cast?
This check looks for assignments to scalar types that may be of the wrong type. To ensure the code behaves as expected, it may be a good idea to add an explicit type cast. $answer = 42;
$correct = false;
$correct = (bool) $answer;
![]() |
|||
152 | if($encoding!='') |
||
153 | { |
||
154 | $encoding = strtolower(str_replace("-","",$encoding)); |
||
155 | $charsets = array(); |
||
156 | $result = $this->dbh->query("SHOW CHARACTER SET"); |
||
157 | while($row = $result->fetch_array(MYSQLI_ASSOC)) |
||
158 | { |
||
159 | $charsets[] = $row["Charset"]; |
||
160 | } |
||
161 | if(in_array($encoding,$charsets)){ |
||
162 | $this->dbh->query("SET NAMES '".$encoding."'"); |
||
163 | } |
||
164 | } |
||
165 | |||
166 | $return_val = true; |
||
167 | } |
||
168 | |||
169 | return $return_val; |
||
170 | } |
||
171 | |||
172 | /********************************************************************** |
||
173 | * Format a mySQL string correctly for safe mySQL insert |
||
174 | * (no mater if magic quotes are on or not) |
||
175 | */ |
||
176 | |||
177 | function escape($str) |
||
0 ignored issues
–
show
|
|||
178 | { |
||
179 | // If there is no existing database connection then try to connect |
||
180 | if ( ! isset($this->dbh) || ! $this->dbh ) |
||
181 | { |
||
182 | $this->connect($this->dbuser, $this->dbpassword, $this->dbhost, $this->dbport); |
||
0 ignored issues
–
show
$this->dbuser is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbpassword is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbhost is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
183 | $this->select($this->dbname, $this->encoding); |
||
0 ignored issues
–
show
$this->dbname is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->encoding is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
184 | } |
||
185 | |||
186 | return $this->dbh->escape_string(stripslashes($str)); |
||
187 | } |
||
188 | |||
189 | /********************************************************************** |
||
190 | * Return mySQL specific system date syntax |
||
191 | * i.e. Oracle: SYSDATE Mysql: NOW() |
||
192 | */ |
||
193 | |||
194 | function sysdate() |
||
0 ignored issues
–
show
|
|||
195 | { |
||
196 | return 'NOW()'; |
||
197 | } |
||
198 | |||
199 | /********************************************************************** |
||
200 | * Perform mySQL query and try to determine result value |
||
201 | */ |
||
202 | |||
203 | function query($query) |
||
0 ignored issues
–
show
|
|||
204 | { |
||
205 | |||
206 | // This keeps the connection alive for very long running scripts |
||
207 | View Code Duplication | if ( $this->num_queries >= 500 ) |
|
208 | { |
||
209 | $this->disconnect(); |
||
210 | $this->quick_connect($this->dbuser,$this->dbpassword,$this->dbname,$this->dbhost,$this->dbport,$this->encoding); |
||
0 ignored issues
–
show
$this->dbuser is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbpassword is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbname is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbhost is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbport is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->encoding is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
211 | } |
||
212 | |||
213 | // Initialise return |
||
214 | $return_val = 0; |
||
215 | |||
216 | // Flush cached values.. |
||
217 | $this->flush(); |
||
218 | |||
219 | // For reg expressions |
||
220 | $query = trim($query); |
||
221 | |||
222 | // Log how the function was called |
||
223 | $this->func_call = "\$db->query(\"$query\")"; |
||
224 | |||
225 | // Keep track of the last query for debug.. |
||
226 | $this->last_query = $query; |
||
227 | |||
228 | // Count how many queries there have been |
||
229 | $this->num_queries++; |
||
230 | |||
231 | // Start timer |
||
232 | $this->timer_start($this->num_queries); |
||
233 | |||
234 | // Use core file cache function |
||
235 | View Code Duplication | if ( $cache = $this->get_cache($query) ) |
|
236 | { |
||
237 | // Keep tack of how long all queries have taken |
||
238 | $this->timer_update_global($this->num_queries); |
||
239 | |||
240 | // Trace all queries |
||
241 | if ( $this->use_trace_log ) |
||
242 | { |
||
243 | $this->trace_log[] = $this->debug(false); |
||
244 | } |
||
245 | |||
246 | return $cache; |
||
247 | } |
||
248 | |||
249 | |||
250 | // If there is no existing database connection then try to connect |
||
251 | View Code Duplication | if ( ! isset($this->dbh) || ! $this->dbh ) |
|
252 | { |
||
253 | $this->connect($this->dbuser, $this->dbpassword, $this->dbhost, $this->dbport); |
||
0 ignored issues
–
show
$this->dbuser is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbpassword is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->dbhost is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
254 | $this->select($this->dbname,$this->encoding); |
||
0 ignored issues
–
show
$this->dbname is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() $this->encoding is of type boolean , but the function expects a string .
It seems like the type of the argument is not accepted by the function/method which you are calling. In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug. We suggest to add an explicit type cast like in the following example: function acceptsInteger($int) { }
$x = '123'; // string "123"
// Instead of
acceptsInteger($x);
// we recommend to use
acceptsInteger((integer) $x);
![]() |
|||
255 | if ( ! isset($this->dbh) || $this->dbh->connect_errno ) |
||
256 | return false; |
||
257 | } |
||
258 | |||
259 | // Perform the query via std mysql_query function.. |
||
260 | $this->result = @$this->dbh->query($query); |
||
261 | |||
262 | // If there is an error then take note of it.. |
||
263 | View Code Duplication | if ( $str = @$this->dbh->error ) |
|
264 | { |
||
265 | $is_insert = true; |
||
266 | $this->register_error($str); |
||
267 | $this->show_errors ? trigger_error($str,E_USER_WARNING) : null; |
||
268 | return false; |
||
269 | } |
||
270 | |||
271 | // Query was an insert, delete, update, replace |
||
272 | $is_insert = false; |
||
273 | |||
274 | //if ( preg_match("/^(insert|delete|update|replace|truncate|drop|create|alter)\s+/i",$query) ) |
||
275 | if ( preg_match("/^(insert|delete|update|replace|truncate|drop|create|alter|begin|commit|rollback|set)/i",$query) ) |
||
276 | { |
||
277 | $this->rows_affected = @$this->dbh->affected_rows; |
||
278 | |||
279 | // Take note of the insert_id |
||
280 | if ( preg_match("/^(insert|replace)\s+/i",$query) ) |
||
281 | { |
||
282 | $this->insert_id = @$this->dbh->insert_id; |
||
283 | } |
||
284 | |||
285 | // Return number fo rows affected |
||
286 | $return_val = $this->rows_affected; |
||
287 | } |
||
288 | // Query was a select |
||
289 | else |
||
290 | { |
||
291 | |||
292 | // Take note of column info |
||
293 | $i=0; |
||
294 | while ($i < @$this->result->field_count) |
||
295 | { |
||
296 | $this->col_info[$i] = @$this->result->fetch_field(); |
||
297 | $i++; |
||
298 | } |
||
299 | |||
300 | // Store Query Results |
||
301 | $num_rows=0; |
||
302 | while ( $row = @$this->result->fetch_object() ) |
||
303 | { |
||
304 | // Store relults as an objects within main array |
||
305 | $this->last_result[$num_rows] = $row; |
||
306 | $num_rows++; |
||
307 | } |
||
308 | |||
309 | @$this->result->free_result(); |
||
310 | |||
311 | // Log number of rows the query returned |
||
312 | $this->num_rows = $num_rows; |
||
313 | |||
314 | // Return number of rows selected |
||
315 | $return_val = $this->num_rows; |
||
316 | } |
||
317 | |||
318 | // disk caching of queries |
||
319 | $this->store_cache($query,$is_insert); |
||
320 | |||
321 | // If debug ALL queries |
||
322 | $this->trace || $this->debug_all ? $this->debug() : null ; |
||
323 | |||
324 | // Keep tack of how long all queries have taken |
||
325 | $this->timer_update_global($this->num_queries); |
||
326 | |||
327 | // Trace all queries |
||
328 | if ( $this->use_trace_log ) |
||
329 | { |
||
330 | $this->trace_log[] = $this->debug(false); |
||
331 | } |
||
332 | |||
333 | return $return_val; |
||
334 | |||
335 | } |
||
336 | |||
337 | /********************************************************************** |
||
338 | * Close the active mySQLi connection |
||
339 | */ |
||
340 | |||
341 | function disconnect() |
||
0 ignored issues
–
show
|
|||
342 | { |
||
343 | @$this->dbh->close(); |
||
344 | } |
||
345 | |||
346 | } |
||
347 |
Adding explicit visibility (
private
,protected
, orpublic
) is generally recommend to communicate to other developers how, and from where this method is intended to be used.