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('1')
    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('1')
    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 362 yii\db\Command::queryInternal('fetchAll', null)
    356357358359360361362363364365366367368
         * @return array all rows of the query result. Each array element is an array representing a row of data.
         * An empty array is returned if the query results in nothing.
         * @throws Exception execution failed
         */
        public function queryAll($fetchMode = null)
        {
            return $this->queryInternal('fetchAll', $fetchMode);
        }
     
        /**
         * Executes the SQL statement and returns the first row of the result.
         * This method is best used when only the first row of result is needed for a query.
         * @param integer $fetchMode the result fetch mode. Please refer to [PHP manual](http://www.php.net/manual/en/function.PDOStatement-setFetchMode.php)
    
  • 9. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\Query.php at line 210 yii\db\Command::queryAll()
    204205206207208209210211212213214215216
         * @param Connection $db the database connection used to generate the SQL statement.
         * If this parameter is not given, the `db` application component will be used.
         * @return array the query results. If the query results in nothing, an empty array will be returned.
         */
        public function all($db = null)
        {
            $rows = $this->createCommand($db)->queryAll();
            return $this->populate($rows);
        }
     
        /**
         * Converts the raw query results into the format as specified by this query.
         * This method is internally used to convert the data fetched from database
    
  • 10. in D:\Apache24\htdocs\vendor\yiisoft\yii2\db\ActiveQuery.php at line 133 yii\db\Query::all(null)
    127128129130131132133134135136137138139
         * @param Connection $db the DB connection used to create the DB command.
         * If null, the DB connection returned by [[modelClass]] will be used.
         * @return array|ActiveRecord[] the query results. If the query results in nothing, an empty array will be returned.
         */
        public function all($db = null)
        {
            return parent::all($db);
        }
     
        /**
         * @inheritdoc
         */
        public function prepare($builder)
    
  • 11. in D:\Apache24\htdocs\models\ServiceQuery.php at line 23 yii\db\ActiveQuery::all(null)
    17181920212223242526272829
        /**
         * @inheritdoc
         * @return Service[]|array
         */
        public function all($db = null)
        {
            return parent::all($db);
        }
     
        /**
         * @inheritdoc
         * @return Service|array|null
         */
    
  • 12. in D:\Apache24\htdocs\controllers\SiteController.php at line 20 – app\models\ServiceQuery::all()
    14151617181920212223242526
     
    class SiteController extends Controller {
     
    	public function actionIndex()
    	{
    		//$model_service1 = Service::find()->where(['name'=>'智慧人大'])->one();
    		$model_service1 = Service::find()->where(['nav_id'=>'1'])->all();
    		//$model_service2 = Service::find()->where(['name'=>'智慧政协'])->one();
    		$model_service2 = Service::find()->where(['nav_id'=>'2'])->all();
    		//$model_scheme1 = Scheme::find()->where(['name'=>'人大信息化'])->one();
    		$model_scheme1 = Scheme::find()->where(['nav_id'=>'1'])->all();
    		//$model_scheme2 = Scheme::find()->where(['name'=>'政协信息化'])->one();
    		$model_scheme2 = Scheme::find()->where(['nav_id'=>'2'])->all();
    
  • 13. app\controllers\SiteController::actionIndex()
  • 14. in D:\Apache24\htdocs\vendor\yiisoft\yii2\base\InlineAction.php at line 55 – call_user_func_array([app\controllers\SiteController, 'actionIndex'], [])
    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([])
    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', [])
    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('', [])
    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();
    
  •