public function query($type, $data = null, $fields = null) { if (!$this->_ready) { return false; } $DATA = null; $FIELDS = $fields; $TYPE = xbData::SQLOperation($type); if (!$TYPE) { return false; } if (in_array($TYPE, array('insert', 'replace', 'update'))) { $DATA = array(); $FIELDS = null; if (!is_array($data)) { return false; } foreach ($data as $record) { if (!is_array($record)) { if ($row = $this->prepare($data)) { $DATA = array($row); } break; } if ($row = $this->prepare($record)) { $DATA[] = $row; } } } return new xbDataQuery($this, $TYPE, $DATA, $FIELDS); }