Database Err: SQLSTATE[HY000] [2002] 由于目标计算机积极拒绝,无法连接。

340.              try {
341.                  if(!class_exists("PDO") || !in_array("mysql",PDO::getAvailableDrivers(), true)){
342.                      err('Database Err: PDO or PDO_MYSQL doesn\'t exist!');
343.                  }
344.                  $GLOBALS['mysql_instances'][$db_config_key] = new PDO('mysql:dbname='.$db_config['MYSQL_DB'].';host='.$db_config['MYSQL_HOST'].';port='.$db_config['MYSQL_PORT'], $db_config['MYSQL_USER'], $db_config['MYSQL_PASS'], array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET NAMES \''.$db_config['MYSQL_CHARSET'].'\''));
345.              }catch(PDOException $e){err('Database Err: '.$e->getMessage());}
346.          }
347.          return $GLOBALS['mysql_instances'][$db_config_key];
348.      }
349.      
350.      private function _where($conditions){
310. 
311.          if($readonly && !empty($GLOBALS['mysql']['MYSQL_SLAVE'])){
312.              $slave_key array_rand($GLOBALS['mysql']['MYSQL_SLAVE']);
313.              $sth $this->dbInstance($GLOBALS['mysql']['MYSQL_SLAVE'][$slave_key], 'slave_'.$slave_key)->prepare($sql);
314.          }else{
315.              $sth $this->dbInstance($GLOBALS['mysql'], 'master')->prepare($sql);
316.          }
317.          
318.          if(is_array($params) && !empty($params)){
319.              foreach($params as $k => &$v){
320.                  if(is_int($v)){
238.          foreach ($row as $k=>$v){
239.              $values[":M_UPDATE_".$k] = $v;
240.              $setstr[] = "`{$k}` = ".":M_UPDATE_".$k;
241.          }
242.          $conditions $this->_where$conditions );
243.          return $this->execute("UPDATE ".$this->table_name." SET ".implode(', '$setstr).$conditions["_where"], $conditions["_bindParams"] + $values);
244.      }
245. 
246.      public function incr($conditions$field$optval 1){
247.          $conditions $this->_where$conditions );
248.          return $this->execute("UPDATE ".$this->table_name." SET `{$field}` = `{$field}` + :M_INCR_VAL ".$conditions["_where"], $conditions["_bindParams"] + array(":M_INCR_VAL" => $optval));
22.          $user = new User();
23.          // 修改uid=2的名字为whoami
24.          $this->result $user->update(array(
25.              "uid" => "2" // 条件
26.          ), array(
27.              "username" => "whoami" // 修改的内容,键是字段名
28.          ));
29.          // update返回结果是影响行数,返回0证明查询不到对应条件的数据
30.          
31.          $this->findall $user->findAll();
32.          $this->display("db/update.html");
79.  if(!is_available_classname($__controller))_err_router("Err: Controller '$controller_name' is not correct!");
80.  if(!class_exists($controller_nametrue))_err_router("Err: Controller '$controller_name' is not exists!");
81.  if(!method_exists($controller_name$action_name))_err_router("Err: Method '$action_name' of '$controller_name' is not exists!");
82. 
83.  $controller_obj = new $controller_name();
84.  $controller_obj->$action_name();
85. 
86.  if($controller_obj->_auto_display){
87.      $auto_tpl_name = (empty($__module) ? '' $__module.DS).$__controller.'_'.$__action.'.html';
88.      if(file_exists(APP_DIR.DS.'protected'.DS.'view'.DS.$auto_tpl_name))$controller_obj->display($auto_tpl_name);
89.  }
1.  <?php
2.  define('APP_DIR'realpath('./'));
3.  define("APP_PATH",dirname(__FILE__));
4.  require(APP_DIR.'/protected/lib/speed.php');