数据库链接错误 : Can't connect to MySQL server on 'localhost' (10061)

87.       * @param dbConfig  数据库配置
88.       */
89.      public function __construct($dbConfig)
90.      {
91.          $linkfunction = ( TRUE == $dbConfig['persistent'] ) ? 'mysql_pconnect' 'mysql_connect';
92.          $this->conn $linkfunction($dbConfig['host'].":".$dbConfig['port'], $dbConfig['login'], $dbConfig['password']) or spError("数据库链接错误 : " mysql_error()); 
93.          mysql_select_db($dbConfig['database'], $this->conn) or spError("无法找到数据库,请确认数据库名称正确!");
94.          $this->exec("SET NAMES UTF8");
95.      }
96.      /**
97.       对特殊字符进行过滤
144.          }
145.      }
146.      if(FALSE != $has_define){
147.          $argString '';$comma ''
148.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', '; } 
149.          eval("\$GLOBALS['G_SP']['inst_class'][\$class_name]= new \$class_name($argString);"); 
150.          return $GLOBALS['G_SP']["inst_class"][$class_name];
151.      }
152.      spError($class_name."类定义不存在,请检查。");
153.  }
154. 
47.      {
48.          if( null == $this->tbl_name )$this->tbl_name $GLOBALS['G_SP']['db']['prefix'] . $this->table;
49.          if( '' == $GLOBALS['G_SP']['db_driver_path'] ){
50.              $GLOBALS['G_SP']['db_driver_path'] = $GLOBALS['G_SP']['sp_drivers_path'].'/'.$GLOBALS['G_SP']['db']['driver'].'.php';
51.          }
52.          $this->_db spClass('db_'.$GLOBALS['G_SP']['db']['driver'], array(0=>$GLOBALS['G_SP']['db']), $GLOBALS['G_SP']['db_driver_path']);
53.      }
54.      public function getAll($sql)
55.      {
56.          $res $this->query($sql);
57.          if ($res !== false)
144.          }
145.      }
146.      if(FALSE != $has_define){
147.          $argString '';$comma ''
148.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', '; } 
149.          eval("\$GLOBALS['G_SP']['inst_class'][\$class_name]= new \$class_name($argString);"); 
150.          return $GLOBALS['G_SP']["inst_class"][$class_name];
151.      }
152.      spError($class_name."类定义不存在,请检查。");
153.  }
154. 
1.  <?php
2.          $row=spClass('site_config')->findAll('id>=100','','id,value');//基本设置参数
3.          foreach($row as $k=>$v){
4.              $config[$v['id']]=$v['value'];
5.          }
6.          $this->config=$config;
7.          
2.  class gongyi2019 extends spController
3.  {
4.      function __construct(){ // 公用
5.          parent::__construct(); // 这是必须的    
6.          // $this->menuIndex=1;
7.          include('common.php');
8.          
9.          $banner=spClass('page_img')->findAll('nid=12','sort_id asc,id asc');//banner
10.          foreach($banner as $k=>$v){
11.              if($k==0){
12.                  $banner[$k]['prev']=$banner[count($banner)-1];
144.          }
145.      }
146.      if(FALSE != $has_define){
147.          $argString '';$comma ''
148.          if(null != $args)for ($i 0$i count($args); $i ++) { $argString .= $comma "\$args[$i]"$comma ', '; } 
149.          eval("\$GLOBALS['G_SP']['inst_class'][\$class_name]= new \$class_name($argString);"); 
150.          return $GLOBALS['G_SP']["inst_class"][$class_name];
151.      }
152.      spError($class_name."类定义不存在,请检查。");
153.  }
154. 
9.  function spRun(){
10.      GLOBAL $__controller$__action;
11.      // 对路由进行自动执行相关操作
12.      spLaunch("router_prefilter");
13.      // 对将要访问的控制器类进行实例化
14.      $handle_controller spClass($__controllernull$GLOBALS['G_SP']["controller_path"].'/'.$__controller.".php");
15.      // 调用控制器出错将调用路由错误处理函数
16.      if(!is_object($handle_controller) || !method_exists($handle_controller$__action)){
17.          eval($GLOBALS['G_SP']["dispatcher_error"]);
18.          exit;
19.      }
13.  $spConfig['controller_path'] = APP_PATH.'/modules/'.basename(__FILE__,".php");
14. 
15.  // 载入SpeedPHP框架
16.  require(SP_PATH."/SpeedPHP.php");
17.  require("functions.php");
18.  spRun(); // SpeedPHP 3新特性
19.  ?>