Exception

Database Exceptionyii\db\Exception

  • 1. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Connection.php at line 549
    540541542543544545546547548549550551552553554555556557558
            $token = 'Opening DB connection: ' . $this->dsn;
            try {
                Yii::info($token, __METHOD__);
                Yii::beginProfile($token, __METHOD__);
                $this->pdo = $this->createPdoInstance();
                $this->initConnection();
                Yii::endProfile($token, __METHOD__);
            } catch (\PDOException $e) {
                Yii::endProfile($token, __METHOD__);
                throw new Exception($e->getMessage(), $e->errorInfo, (int) $e->getCode(), $e);
            }
        }
     
        /**
         * Closes the currently active DB connection.
         * It does nothing if the connection is already closed.
         */
        public function close()
        {
    
  • 2. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Connection.php at line 863 yii\db\Connection::open()
    857858859860861862863864865866867868869
         * Returns the PDO instance for the currently active master connection.
         * This method will open the master DB connection and then return [[pdo]].
         * @return PDO the PDO instance for the currently active master connection.
         */
        public function getMasterPdo()
        {
            $this->open();
            return $this->pdo;
        }
     
        /**
         * Returns the currently active slave connection.
         * If this method is called the first time, it will try to open a slave connection when [[enableSlaves]] is true.
    
  • 3. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Connection.php at line 850 yii\db\Connection::getMasterPdo()
    844845846847848849850851852853854855856
         * is available and `$fallbackToMaster` is false.
         */
        public function getSlavePdo($fallbackToMaster = true)
        {
            $db = $this->getSlave(false);
            if ($db === null) {
                return $fallbackToMaster ? $this->getMasterPdo() : null;
            } else {
                return $db->pdo;
            }
        }
     
        /**
    
  • 4. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Schema.php at line 478 yii\db\Connection::getSlavePdo()
    472473474475476477478479480481482483484
        public function quoteValue($str)
        {
            if (!is_string($str)) {
                return $str;
            }
     
            if (($value = $this->db->getSlavePdo()->quote($str)) !== false) {
                return $value;
            } else {
                // the driver doesn't support quote (e.g. oci)
                return "'" . addcslashes(str_replace("'", "''", $str), "\000\n\r\\\032") . "'";
            }
        }
    
  • 5. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Connection.php at line 759 yii\db\Schema::quoteValue('3')
    753754755756757758759760761762763764765
         * @param string $value string to be quoted
         * @return string the properly quoted string
         * @see http://www.php.net/manual/en/function.PDO-quote.php
         */
        public function quoteValue($value)
        {
            return $this->getSchema()->quoteValue($value);
        }
     
        /**
         * Quotes a table name for use in a query.
         * If the table name contains schema prefix, the prefix will also be properly quoted.
         * If the table name is already quoted or contains special characters including '(', '[[' and '{{',
    
  • 6. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Command.php at line 175 yii\db\Connection::quoteValue('3')
    169170171172173174175176177178179180181
            $params = [];
            foreach ($this->params as $name => $value) {
                if (is_string($name) && strncmp(':', $name, 1)) {
                    $name = ':' . $name;
                }
                if (is_string($value)) {
                    $params[$name] = $this->db->quoteValue($value);
                } elseif (is_bool($value)) {
                    $params[$name] = ($value ? 'TRUE' : 'FALSE');
                } elseif ($value === null) {
                    $params[$name] = 'NULL';
                } elseif (!is_object($value) && !is_resource($value)) {
                    $params[$name] = $value;
    
  • 7. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Command.php at line 869 yii\db\Command::getRawSql()
    863864865866867868869870871872873874875
         * @return mixed the method execution result
         * @throws Exception if the query causes any problem
         * @since 2.0.1 this method is protected (was private before).
         */
        protected function queryInternal($method, $fetchMode = null)
        {
            $rawSql = $this->getRawSql();
     
            Yii::info($rawSql, 'yii\db\Command::query');
     
            if ($method !== '') {
                $info = $this->db->getQueryCacheInfo($this->queryCacheDuration, $this->queryCacheDependency);
                if (is_array($info)) {
    
  • 8. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Command.php at line 388 yii\db\Command::queryInternal('fetchColumn', 0)
    382383384385386387388389390391392393394
         * @return string|null|false the value of the first column in the first row of the query result.
         * False is returned if there is no value.
         * @throws Exception execution failed
         */
        public function queryScalar()
        {
            $result = $this->queryInternal('fetchColumn', 0);
            if (is_resource($result) && get_resource_type($result) === 'stream') {
                return stream_get_contents($result);
            } else {
                return $result;
            }
        }
    
  • 9. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Query.php at line 396 yii\db\Command::queryScalar()
    390391392393394395396397398399400401402
     
            $this->select = $select;
            $this->limit = $limit;
            $this->offset = $offset;
     
            if (empty($this->groupBy) && empty($this->having) && empty($this->union) && !$this->distinct) {
                return $command->queryScalar();
            } else {
                return (new Query)->select([$selectExpression])
                    ->from(['c' => $this])
                    ->createCommand($command->db)
                    ->queryScalar();
            }
    
  • 10. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\ActiveQuery.php at line 334 yii\db\Query::queryScalar('COUNT(*)', null)
    328329330331332333334335336337338339340
        /**
         * @inheritdoc
         */
        protected function queryScalar($selectExpression, $db)
        {
            if ($this->sql === null) {
                return parent::queryScalar($selectExpression, $db);
            }
            /* @var $modelClass ActiveRecord */
            $modelClass = $this->modelClass;
            if ($db === null) {
                $db = $modelClass::getDb();
            }
    
  • 11. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Query.php at line 303 yii\db\ActiveQuery::queryScalar('COUNT(*)', null)
    297298299300301302303304305306307308309
         * If this parameter is not given (or null), the `db` application component will be used.
         * @return integer|string number of records. The result may be a string depending on the
         * underlying database engine and to support integer values higher than a 32bit PHP integer can handle.
         */
        public function count($q = '*', $db = null)
        {
            return $this->queryScalar("COUNT($q)", $db);
        }
     
        /**
         * Returns the sum of the specified column values.
         * @param string $q the column name or expression.
         * Make sure you properly [quote](guide:db-dao#quoting-table-and-column-names) column names in the expression.
    
  • 12. in D:\Apache24\htdocs\controllers\NewsController.php at line 21 yii\db\Query::count()
    15161718192021222324252627
    		Yii::$app->params['navBarMark']['news'] = 1;
     
    		$model_news = new News();
    		if($nav == null){
    			$model_count = $model_news->find()->count();
    		}else{
    			$model_count = $model_news->find()->where(['nav_id'=>$nav])->count();
    		}
    		// 		$model_count = $model_case->find()->where(['nav_id'=>$nav])->count();
    		$data['pages'] = new Pagination(['totalCount' => $model_count]);
    		$data['pages']->defaultPageSize = 8;
    		if($nav == null){
    			// 			$model_list = $model_case->find()->offset($data['pages']->offset)->limit($data['pages']->limit)->orderBy(['id'=>SORT_DESC])->asArray()->all();
    
  • 13. app\controllers\NewsController::actionIndex('3')
  • 14. in D:\Apache24\htdocs\vendor\yiisoft\yii2\base\InlineAction.php at line 55 – call_user_func_array([app\controllers\NewsController, 'actionIndex'], ['3'])
    495051525354555657
            $args = $this->controller->bindActionParams($this, $params);
            Yii::trace('Running action: ' . get_class($this->controller) . '::' . $this->actionMethod . '()', __METHOD__);
            if (Yii::$app->requestedParams === null) {
                Yii::$app->requestedParams = $args;
            }
     
            return call_user_func_array([$this->controller, $this->actionMethod], $args);
        }
    }
    
  • 15. in D:\Apache24\htdocs\vendor\yiisoft\yii2\base\Controller.php at line 154 yii\base\InlineAction::runWithParams(['nav' => '3'])
    148149150151152153154155156157158159160
            }
     
            $result = null;
     
            if ($runAction && $this->beforeAction($action)) {
                // run the action
                $result = $action->runWithParams($params);
     
                $result = $this->afterAction($action, $result);
     
                // call afterAction on modules
                foreach ($modules as $module) {
                    /* @var $module Module */
    
  • 16. in D:\Apache24\htdocs\vendor\yiisoft\yii2\base\Module.php at line 454 yii\base\Controller::runAction('index', ['nav' => '3'])
    448449450451452453454455456457458459460
            $parts = $this->createController($route);
            if (is_array($parts)) {
                /* @var $controller Controller */
                list($controller, $actionID) = $parts;
                $oldController = Yii::$app->controller;
                Yii::$app->controller = $controller;
                $result = $controller->runAction($actionID, $params);
                if ($oldController !== null) {
                    Yii::$app->controller = $oldController;
                }
     
                return $result;
            } else {
    
  • 17. in D:\Apache24\htdocs\vendor\yiisoft\yii2\web\Application.php at line 100 yii\base\Module::runAction('news/index', ['nav' => '3'])
    949596979899100101102103104105106
                $params = $this->catchAll;
                unset($params[0]);
            }
            try {
                Yii::trace("Route requested: '$route'", __METHOD__);
                $this->requestedRoute = $route;
                $result = $this->runAction($route, $params);
                if ($result instanceof Response) {
                    return $result;
                } else {
                    $response = $this->getResponse();
                    if ($result !== null) {
                        $response->data = $result;
    
  • 18. in D:\Apache24\htdocs\vendor\yiisoft\yii2\base\Application.php at line 375 yii\web\Application::handleRequest(yii\web\Request)
    369370371372373374375376377378379380381
            try {
     
                $this->state = self::STATE_BEFORE_REQUEST;
                $this->trigger(self::EVENT_BEFORE_REQUEST);
     
                $this->state = self::STATE_HANDLING_REQUEST;
                $response = $this->handleRequest($this->getRequest());
     
                $this->state = self::STATE_AFTER_REQUEST;
                $this->trigger(self::EVENT_AFTER_REQUEST);
     
                $this->state = self::STATE_SENDING_RESPONSE;
                $response->send();
    
  • 19. in D:\Apache24\htdocs\web\index.php at line 12 yii\base\Application::run()
    6789101112
     
    require(__DIR__ . '/../vendor/autoload.php');
    require(__DIR__ . '/../vendor/yiisoft/yii2/Yii.php');
     
    $config = require(__DIR__ . '/../config/web.php');
     
    (new yii\web\Application($config))->run();
    
  • $_GET = [
        'nav' => '3',
    ];