public function select($where = array(), $attrs = array()) { if (empty($this->_table)) { return FALSE; } $db = $this->_getDbInstance(TRUE); //READ if (!$db) { return FALSE; } $select_fields = isset($attrs['select']) ? $attrs['select'] : '*'; list($where_sql, $where_bind_attrs) = $this->_sql_maker->where($where, $attrs); $sql = "SELECT {$select_fields} FROM " . $this->_table . $where_sql; // $log_sql = 'Sql:' . $sql . '***' . json_encode($where_bind_attrs); $log_sql = date('Y-m-d H:i:s') . '[%]' . '0' . '[%]sql' . '[%]' . $sql . ',' . json_encode($where_bind_attrs); Logging::logMessage($log_sql, Logging::LEVEL_INFO); //2015-01-15 LELVEL_DEBUG改INFO Zeromq::zmqMessage($log_sql, Zeromq::LEVEL_INFO); //2015-01-15 LELVEL_DEBUG改INFO $sth = $db->prepare($sql); $ret = $sth->execute($where_bind_attrs); $this->_dberrcode = $sth->errorCode(); $this->_dberrinfo = $sth->errorInfo(); if ($ret === FALSE) { $err = $this->_dberrinfo; Logging::logMessage('DB_ERROR code:' . $this->_dberrcode . ' error:' . $err[2], Logging::LEVEL_ERROR); Zeromq::zmqMessage('DB_ERROR code:' . $this->_dberrcode . ' error:' . $err[2], Zeromq::LEVEL_ERROR); Logging::logMessage($log_sql, Logging::LEVEL_ERROR); Zeromq::zmqMessage($log_sql, Zeromq::LEVEL_ERROR); return FALSE; } else { return $sth->fetchAll(PDO::FETCH_ASSOC); } }
public function select($where = array(), $attrs = array()) { if (empty($this->_table)) { return FALSE; } $db = $this->_getDbInstance(TRUE); //READ if (!$db) { return FALSE; } // 校验查询条件的数据类型 $check_condition = $this->_checkConType($where); if (!empty($check_condition)) { return $check_condition; } $select_fields = isset($attrs['select']) ? $attrs['select'] : '*'; list($where_sql, $where_bind_attrs) = $this->_sql_maker->where($where, $this->_data_type, $attrs); $sql = "SELECT {$select_fields} FROM " . $this->_table . $where_sql; if ($this->_debug) { echo $sql; } $log_sql = 'Sql:' . $sql . '***' . json_encode($where_bind_attrs); Logging::logMessage($log_sql, Logging::LEVEL_DEBUG); Zeromq::zmqMessage($log_sql, Zeromq::LEVEL_DEBUG); $sth = $db->prepare($sql); $ret = $sth->execute($where_bind_attrs); $this->_dberrcode = $sth->errorCode(); $this->_dberrinfo = $sth->errorInfo(); if ($ret === FALSE) { $err = $this->_dberrinfo; Logging::logMessage('DB_ERROR code:' . $this->_dberrcode . ' error:' . $err[2], Logging::LEVEL_ERROR); Zeromq::zmqMessage('DB_ERROR code:' . $this->_dberrcode . ' error:' . $err[2], Zeromq::LEVEL_ERROR); Logging::logMessage($log_sql, Logging::LEVEL_ERROR); Zeromq::zmqMessage($log_sql, Zeromq::LEVEL_ERROR); return FALSE; } else { $res = $sth->fetchAll(PDO::FETCH_ASSOC); if (is_array($res)) { foreach ($res as $p => $v) { if (!empty($res[$p]['data'])) { $res[$p]['data'] = json_decode($res[$p]['data'], TRUE); } } } return $res; } }