Commit df98b68f authored by Alexander Butenko's avatar Alexander Butenko

Streamline where generation part

parent 9abe8ec8
...@@ -506,17 +506,15 @@ class MysqliDb ...@@ -506,17 +506,15 @@ class MysqliDb
//Prepair the where portion of the query //Prepair the where portion of the query
$this->_query .= ' WHERE '; $this->_query .= ' WHERE ';
foreach ($this->_where as $column => $value) { foreach ($this->_where as $column => $value) {
$andOr = ''; //value[0] -- AND/OR, value[1] -- condition array
// if its not a first condition insert its concatenator (AND or OR) // if its not a first condition insert its concatenator (AND or OR)
if (array_search ($column, array_keys ($this->_where)) != 0) if (array_search ($column, array_keys ($this->_where)) != 0)
$andOr = ' ' . $value[0]. ' '; $this->_query .= ' ' . $value[0]. ' ';
$value = $value[1]; if (is_array ($value[1])) {
$comparison = ' = ? ';
if( is_array( $value ) ) {
// if the value is an array, then this isn't a basic = comparison // if the value is an array, then this isn't a basic = comparison
$key = key( $value ); $key = key($value[1]);
$val = $value[$key]; $val = $value[1][$key];
switch( strtolower($key) ) { switch( strtolower($key) ) {
case 'in': case 'in':
$comparison = ' IN ('; $comparison = ' IN (';
...@@ -539,10 +537,10 @@ class MysqliDb ...@@ -539,10 +537,10 @@ class MysqliDb
} }
} else { } else {
// Determines what data type the where column is, for binding purposes. // Determines what data type the where column is, for binding purposes.
$this->_bindParam ($value); $comparison = ' = ? ';
$this->_bindParam ($value[1]);
} }
// Prepares the reset of the SQL query. $this->_query .= $column.$comparison;
$this->_query .= ($andOr.$column.$comparison);
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment