Cml\Db\MySql\Pdo::execute PHP Метод

execute() публичный Метод

执行预处理语句
public execute ( object $stmt, boolean $clearBindParams = true ) : boolean
$stmt object PDOStatement
$clearBindParams boolean
Результат boolean
    public function execute($stmt, $clearBindParams = true)
    {
        //empty($param) && $param = $this->bindParams;
        $this->conf['log_slow_sql'] && ($startQueryTimeStamp = microtime(true));
        if (!$stmt->execute()) {
            $error = $stmt->errorInfo();
            throw new \InvalidArgumentException('Pdo execute Sql error!,【Sql : ' . $this->buildDebugSql() . '】,【Error:' . $error[2] . '】');
        }
        $slow = 0;
        if ($this->conf['log_slow_sql']) {
            $queryTime = microtime(true) - $startQueryTimeStamp;
            if ($queryTime > $this->conf['log_slow_sql']) {
                if (Plugin::hook('cml.mysql_query_slow', ['sql' => $this->buildDebugSql(), 'query_time' => $queryTime]) !== false) {
                    Log::notice('slow_sql', ['sql' => $this->buildDebugSql(), 'query_time' => $queryTime]);
                }
                $slow = $queryTime;
            }
        }
        if (Cml::$debug) {
            $this->debugLogSql($slow > 0 ? Debug::SQL_TYPE_SLOW : Debug::SQL_TYPE_NORMAL, $slow);
        }
        $this->currentSql = '';
        $clearBindParams && $this->clearBindParams();
        return true;
    }