Database Err: SQLSTATE[HY000] [2002] No such file or directory

355.                   by greenic
356.                   PDO::ATTR_PERSISTENT => true,
357.                   */
358.                  $GLOBALS['instance']['mysql'][$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::ATTR_PERSISTENT => truePDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'' $db_config['MYSQL_CHARSET'] . '\''));
359.              } catch (PDOException $e) {
360.                  err('Database Err: ' $e->getMessage());
361.              }
362.          }
363.          return $GLOBALS['instance']['mysql'][$db_config_key];
364.      }
365. 
331.          $this->sql[] = $sql;
332.          if ($readonly && !empty($GLOBALS['mysql']['MYSQL_SLAVE'])) {
333.              $slave_key array_rand($GLOBALS['mysql']['MYSQL_SLAVE']);
334.              $sth $this->db_instance($GLOBALS['mysql']['MYSQL_SLAVE'][$slave_key], 'slave_' $slave_key)->prepare($sql);
335.          } else {
336.              $sth $this->db_instance($GLOBALS['mysql'], 'master')->prepare($sql);
337.          }
338.          if (is_array($params) && !empty($params)) {
339.              foreach ($params as $k => &$v$sth->bindParam($k$v);
340.          }
341.          if ($sth->execute()) {
321.          return $limit ' LIMIT ' $limit '';
322.      }
323. 
324.      public function query($sql$params = array())
325.      {
326.          return $this->execute($sql$paramstrue);
327.      }
328. 
329.      public function execute($sql$params = array(), $readonly FALSE)
330.      {
331.          $this->sql[] = $sql;
216.      public function find($conditions = array(), $sort null$fields '*')
217.      {
218.          $conditions $this->_where($conditions);
219.          $sql ' FROM ' $this->table_name $conditions["_where"];
220.          $sort = !empty($sort) ? ' ORDER BY ' $sort '';
221.          $res $this->query('SELECT ' $fields $sql $sort ' LIMIT 1'$conditions["_bindParams"]);
222.          return !empty($res) ? array_pop($res) : false;
223.      }
224. 
225.      public function update($conditions$row)
226.      {
5.      
6.      public function get_newid($oldid)
7.      {
8.          $ret=false;
9.          if($oldid>0) {
10.              $ret $this->find(array('oldid'=>$oldid), null'newid');
11.          }
12.          return $ret===false ""$ret['newid'];
13.      }
14.  }
56.      
57.      public function action_redirect()
58.      {
59.          $id = (int)request('id'0);
60.          $resid_model=new relation_resid_model();
61.          $resid=$resid_model->get_newid($id);
62.          if(empty($resid)) jump(url('main''404', array("msg"=>"资源不存在或已删除,请与管理员联系。")));
63.          else header("Location: /res/".$resid.".html");
64.      }
65.      
66.      public function action_redirect_m()
80.  $action_name 'action_' $__action;
81.  if (!class_exists($controller_nametrue)) err("Err: Controller '$controller_name' is not exists!");
82.  $controller_obj = new $controller_name();
83.  if (!method_exists($controller_obj$action_name)) err("Err: Method '$action_name' of '$controller_name' is not exists!");
84. 
85.  $controller_obj->$action_name();
86. 
87.  function url($c 'main'$a 'index'$param = array())
88.  {
89.      if (is_array($c)) {
90.          //echo json_encode($c);
1.  <?php
2.  define('APP_DIR'realpath('./'));
3.  defined('DS') or define('DS'DIRECTORY_SEPARATOR);
4.  define('INCL_DIR'APP_DIR.DS.'protected'.DS.'include');
5.  require(INCL_DIR.DS.'core.php');