数据库链接错误/无法找到数据库 : Too many connections

89.      public function __construct($dbConfig)
90.      {
91.          if(!function_exists('mysqli_connect'))spError('PHP环境未安装MySQLi函数库!');
92.          $linkfunction = ( TRUE == $dbConfig['persistent'] ) ? 'mysqli_pconnect' 'mysqli_connect';
93.          $this->conn $linkfunction($dbConfig['host'], $dbConfig['login'], $dbConfig['password'], $dbConfig['database'], $dbConfig['port']);
94.          if(mysqli_connect_errno())spError('数据库链接错误/无法找到数据库 : 'mysqli_connect_error());
95.          $this->exec("SET NAMES UTF8");
96.      }
97.      /**
98.       对特殊字符进行过滤
99.       *
148.      }
149.      if(FALSE != $has_define){
150.          $argString '';$comma ''
151.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', ';}
152.          if($cache_inst) {
153.              eval("\$GLOBALS['G_SP']['inst_class'][\$class_name] = new \$class_name($argString);");
154.              return $GLOBALS['G_SP']["inst_class"][$class_name];
155.          }else {
156.              eval("\$tmpCls = new \$class_name($argString);");
157.              return $tmpCls;
158.          }
53.          if(in_array($this->tbl_name$GLOBALS['G_SP']['controller_other_db'])){
54.              $this->_db spClass('db_'.$GLOBALS['G_SP']['db_other']['driver'], array(0=>$GLOBALS['G_SP']['db_other']), $GLOBALS['G_SP']['db_driver_path'], $forceInst);
55.          }elseif (in_array($this->tbl_name$GLOBALS['G_SP']['controller_e4_db'])) {
56.              $this->_db spClass('db_'.$GLOBALS['G_SP']['db_e4']['driver'], array(0=>$GLOBALS['G_SP']['db_e4']), $GLOBALS['G_SP']['db_driver_path'], $forceInst);
57.          }else{
58.              $this->_db spClass('db_'.$GLOBALS['G_SP']['db']['driver'], array(0=>$GLOBALS['G_SP']['db']), $GLOBALS['G_SP']['db_driver_path'], $forceInst);
59.          }
60.      }
61. 
62.      /**
63.       从数据表中查找一条记录
148.      }
149.      if(FALSE != $has_define){
150.          $argString '';$comma ''
151.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', ';}
152.          if($cache_inst) {
153.              eval("\$GLOBALS['G_SP']['inst_class'][\$class_name] = new \$class_name($argString);");
154.              return $GLOBALS['G_SP']["inst_class"][$class_name];
155.          }else {
156.              eval("\$tmpCls = new \$class_name($argString);");
157.              return $tmpCls;
158.          }
525.   * @param int $pos
526.   * @return string
527.   */
528.   function getAd($pos 0$limit 1$station 0){
529.      if(!empty($pos) && is_numeric($pos))
530.      return spClass('m_ad')->getAD($pos$limit$station);
531.  }
532. 
533.  /**
534.   获取产品分类设定数组(很重要,spUrlRewrite需要用到)
535.   * @param string $suffix 如果赋值,则在产品key名后面增加后缀(主要用于rewrite识别模板二级目录)
278.              foreach($match[1] as $k => $v){
279.                  $id 'replace_'.$v;
280.                  $paramArr explode('_'$v);
281.                  switch($paramArr[0]){
282.                      case 'ad':
283.                          $newContent getAd($paramArr[1], $paramArr[2]);
284.                      break;
285.                      case 'link':
286.                          $newContent getLink($paramArr[1], $paramArr[2], $paramArr[3]);
287.                      break;
288.                  }
334.                      }
335.                      // $mobankuKey = in_array('mobanku', $pathArr)&&in_array('key', $pathArr);
336.                      
337.                      if((time() - filemtime($htmlPath) < $updateTime) || $mustUpdate){ //文件更新时间在5天内输出静态,否则重新更新静态,模板库key、百科详情不更新
338.                          $htmlContent file_get_contents($htmlPath);
339.                          $htmlContent $this->replaceHtml($htmlContent);
340.                          if($htmlContent){
341.                              echo $htmlContent;
342.                              exit;
343.                          }
344.                      }
55.          //列表页转发
56.          if ($hostArr[0] == 'www' && empty($query)) {
57.              $url INFO_URL.$product.'/';
58.              $this->jump($url);
59.          }
60.          $this->checkHtml(); //检查静态文件
61.          $this->productName $productName getProduct($product);
62. 
63.          $this->type $type strtolower($this->spArgs('type'null));
64.          //查询所有产品类型
65.          $allProductData spClass('m_product')->spCache()->getAllProduct(null'name');
18.          //header('location: /main/notfound.html');exit();
19.          eval($GLOBALS['G_SP']["dispatcher_error"]);
20.          exit;
21.      }
22.      // 路由并执行用户代码
23.      $handle_controller->$__action();
24.      // 控制器程序运行完毕,进行模板的自动输出
25.      if(FALSE != $GLOBALS['G_SP']['view']['auto_display']){
26.          $__tplname $__controller.$GLOBALS['G_SP']['view']['auto_display_sep'].
27.                  $__action.$GLOBALS['G_SP']['view']['auto_display_suffix']; // 拼装模板路径
28.          $handle_controller->auto_display($__tplname);
1.  <?php
2.  require(SP_PATH."/SpeedPHP.php");
3.  spRun();
1.  <?php
2.  $spConfig = require(dirname(dirname(dirname(__DIR__))) . '/config/config-pc-info.php');
3.  require(BASE_PATH."/index.php");