html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

一个不错的MySQL类_PHP教程_编程技术

[ ] 已经帮助:人解决问题

    包含CRUD,事务,树递归查询,分页等. 演示简单的魅力. 所有的参数都escape了,不存在注入问题.VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  * Anthony.chenVuZHTML5中文学习网 - HTML5先行者学习网

  * 2010 reservedVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  class DB {VuZHTML5中文学习网 - HTML5先行者学习网

  // Query typesVuZHTML5中文学习网 - HTML5先行者学习网

  const SELECT = 1;VuZHTML5中文学习网 - HTML5先行者学习网

  const INSERT = 2;VuZHTML5中文学习网 - HTML5先行者学习网

  const UPDATE = 3;VuZHTML5中文学习网 - HTML5先行者学习网

  const DELETE = 4;VuZHTML5中文学习网 - HTML5先行者学习网

  const T = 't';VuZHTML5中文学习网 - HTML5先行者学习网

  const F = 'f';VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  * Supporting return multiple data;VuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function insert_table($table_name,$data,$return_id='id',$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  if (!is_array($data)){VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  if (is_null($return_id)){VuZHTML5中文学习网 - HTML5先行者学习网

  self::query(self::SELECT,self::insert($table_name,array_keys($data))->values(array_values($data)))->execute($db);VuZHTML5中文学习网 - HTML5先行者学习网

  return true;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  if (is_string($return_id)){VuZHTML5中文学习网 - HTML5先行者学习网

  $id = self::query(self::SELECT,self::insert($table_name,array_keys($data))->values(array_values($data))." returning ".$return_id)->execute($db)->get($return_id);VuZHTML5中文学习网 - HTML5先行者学习网

  return $id;VuZHTML5中文学习网 - HTML5先行者学习网

  }else{VuZHTML5中文学习网 - HTML5先行者学习网

  if (is_array($return_id)){VuZHTML5中文学习网 - HTML5先行者学习网

  $ids = implode(',',$return_id);VuZHTML5中文学习网 - HTML5先行者学习网

  $r_ids = self::query(self::SELECT,self::insert($table_name,array_keys($data))->values(array_values($data))." returning ".$ids)->execute($db)->current();VuZHTML5中文学习网 - HTML5先行者学习网

  return $r_ids;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function update_table($table_name,$id,$data,$id_name='id',$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  if (!is_array($data)){VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  return self::update($table_name)->set($data)->where($id_name ,'=',$id)->execute($db);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function quote($s,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  if(!is_array($s)){VuZHTML5中文学习网 - HTML5先行者学习网

  return Database::instance($db)->quote($s);VuZHTML5中文学习网 - HTML5先行者学习网

  }else{ //Quote array and implodeVuZHTML5中文学习网 - HTML5先行者学习网

  $_qs = array();VuZHTML5中文学习网 - HTML5先行者学习网

  foreach ($s as $ele){VuZHTML5中文学习网 - HTML5先行者学习网

  $_qs[] = self::quote($ele,$db);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  $_quoteString = implode(',',$_qs);VuZHTML5中文学习网 - HTML5先行者学习网

  return $_quoteString;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function escape($s,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  return Database::instance($db)->escape($s);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function quote_table($s,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  return Database::instance($db)->quote_table($s);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getConnection($db = 'default'){VuZHTML5中文学习网 - HTML5先行者学习网

  return Database::instance($db)->getConnection();VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getChildren($table,$returnSql = false ,$pid= '0',$idname='id',$pidname='pid' ,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql = 'select * from '.$table.' where '.$pidname.'='.self::escape($pid,$db).VuZHTML5中文学习网 - HTML5先行者学习网

  " and $idname <>".DB::escape($pid,$db);VuZHTML5中文学习网 - HTML5先行者学习网

  if($returnSql){VuZHTML5中文学习网 - HTML5先行者学习网

  return $_sql;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  $_res = self::query(self::SELECT,$_sql)->execute($db)->as_array();VuZHTML5中文学习网 - HTML5先行者学习网

  if($_res){VuZHTML5中文学习网 - HTML5先行者学习网

  return $_res;VuZHTML5中文学习网 - HTML5先行者学习网

  }else{VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getTree($tableName,$returnSql=false,$startWith='0',$idCol='id',$pidCol='pid', $orderCol='id', $maxDepth=0,$level = 0,$delimiter = ';',$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas = array();VuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($tableName,$db); //TableViewVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($idCol,$db); //ID columnVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($pidCol,$db); //Parent ID ColumnVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($orderCol,$db); //Default Order by ASCVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($startWith,$db); //Begin NODEVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($maxDepth,$db); //Begin Depth of traverseVuZHTML5中文学习网 - HTML5先行者学习网

  $_funcParas[] = self::quote($delimiter,$db); //Delimitor,default ';'VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql = 'select * from connectby('VuZHTML5中文学习网 - HTML5先行者学习网

  .implode(',',$_funcParas).')'VuZHTML5中文学习网 - HTML5先行者学习网

  .' as t(id int, pid int, level int, branch text, pos int)';VuZHTML5中文学习网 - HTML5先行者学习网

  if($level > 0){VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql .= ' where level >='.self::quote($level);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  if($returnSql) return $_sql;VuZHTML5中文学习网 - HTML5先行者学习网

  $_res = self::query(self::SELECT,$_sql,true)->execute($db)->as_array();VuZHTML5中文学习网 - HTML5先行者学习网

  if($_res){VuZHTML5中文学习网 - HTML5先行者学习网

  return $_res;VuZHTML5中文学习网 - HTML5先行者学习网

  }else{VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function begin($db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  DB::query(Database::UPDATE, "BEGIN")->execute($db);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function commit($db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  DB::query(Database::UPDATE, "COMMIT")->execute($db);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  public static function rollback($db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  DB::query(Database::UPDATE, "ROLLBACK")->execute($db);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query] of the given type.VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // Create a new SELECT queryVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::query(Database::SELECT, 'SELECT * FROM users');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // Create a new DELETE queryVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::query(Database::DELETE, 'DELETE FROM users WHERE id = 5');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * Specifying the type changes the returned result. When usingVuZHTML5中文学习网 - HTML5先行者学习网

  * `Database::SELECT`, a [Database_Query_Result] will be returned.VuZHTML5中文学习网 - HTML5先行者学习网

  * `Database::INSERT` queries will return the insert id and number of rows.VuZHTML5中文学习网 - HTML5先行者学习网

  * For all other queries, the number of affected rows is returned.VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param integer type: Database::SELECT, Database::UPDATE, etcVuZHTML5中文学习网 - HTML5先行者学习网

  * @param string SQL statementVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_QueryVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function query($type, $sql,$as_object = false)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query($type, $sql,$as_object);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query_Builder_Select]. Each argument will beVuZHTML5中文学习网 - HTML5先行者学习网

  * treated as a column. To generate a `foo AS bar` alias, use an array.VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // SELECT id, usernameVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::select('id', 'username');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // SELECT id AS user_idVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::select(array('id', 'user_id'));VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param mixed column name or array($column, $alias) or objectVuZHTML5中文学习网 - HTML5先行者学习网

  * @param ...VuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_Query_Builder_SelectVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function select($columns = NULL)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query_Builder_Select(func_get_args());VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query_Builder_Select] from an array of columns.VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // SELECT id, usernameVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::select_array(array('id', 'username'));VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param array columns to selectVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_Query_Builder_SelectVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function select_array(array $columns = NULL)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query_Builder_Select($columns);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query_Builder_Insert].VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // INSERT INTO users (id, username)VuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::insert('users', array('id', 'username'));VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param string table to insert intoVuZHTML5中文学习网 - HTML5先行者学习网

  * @param array list of column names or array($column, $alias) or objectVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_Query_Builder_InsertVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function insert($table = NULL, array $columns = NULL)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query_Builder_Insert($table, $columns);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query_Builder_Update].VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // UPDATE usersVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::update('users');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param string table to updateVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_Query_Builder_UpdateVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function update($table = NULL)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query_Builder_Update($table);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Query_Builder_Delete].VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * // DELETE FROM usersVuZHTML5中文学习网 - HTML5先行者学习网

  * $query = DB::delete('users');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param string table to delete fromVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_Query_Builder_DeleteVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function delete($table = NULL)VuZHTML5中文学习网 - HTML5先行者学习网

  {VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Query_Builder_Delete($table);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /**VuZHTML5中文学习网 - HTML5先行者学习网

  * Create a new [Database_Expression] which is not escaped. An expressionVuZHTML5中文学习网 - HTML5先行者学习网

  * is the only way to use SQL functions within query builders.VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * $expression = DB::expr('COUNT(users.id)');VuZHTML5中文学习网 - HTML5先行者学习网

  *VuZHTML5中文学习网 - HTML5先行者学习网

  * @param string expressionVuZHTML5中文学习网 - HTML5先行者学习网

  * @return Database_ExpressionVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function expr($string){VuZHTML5中文学习网 - HTML5先行者学习网

  return new Database_Expression($string);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  * Gettting paginated pageVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getPage($_sql,&$page,$orderBy ='updated desc', $dataPro='data',$pagePro = 'pagination',VuZHTML5中文学习网 - HTML5先行者学习网

  $config = NULL,$db = 'default',$as_object= true){VuZHTML5中文学习网 - HTML5先行者学习网

  $_csql = 'select count(1) as c from ('.$_sql.') st';VuZHTML5中文学习网 - HTML5先行者学习网

  $_c = DB::query(DB::SELECT,$_csql)->execute($db)->get('c');VuZHTML5中文学习网 - HTML5先行者学习网

  if($config){VuZHTML5中文学习网 - HTML5先行者学习网

  $config['total_items'] = $_c;VuZHTML5中文学习网 - HTML5先行者学习网

  $_pagination = new Pagination($config);VuZHTML5中文学习网 - HTML5先行者学习网

  }else{VuZHTML5中文学习网 - HTML5先行者学习网

  $config = array();VuZHTML5中文学习网 - HTML5先行者学习网

  $config['total_items'] = $_c;VuZHTML5中文学习网 - HTML5先行者学习网

  $_pagination = new Pagination($config);VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql .= ' order by '.$orderBy;VuZHTML5中文学习网 - HTML5先行者学习网

  if($_pagination->offset){VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql .= ' offset '.$_pagination->offset;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql .= ' limit '.$_pagination->items_per_page;VuZHTML5中文学习网 - HTML5先行者学习网

  $_data = DB::query(DB::SELECT,$_sql,$as_object)->execute($db)->as_array();VuZHTML5中文学习网 - HTML5先行者学习网

  if(!$_data){VuZHTML5中文学习网 - HTML5先行者学习网

  $page->{$dataPro} = false;VuZHTML5中文学习网 - HTML5先行者学习网

  $page->{$pagePro} = false;VuZHTML5中文学习网 - HTML5先行者学习网

  return false;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  $page->{$dataPro} = $_data;VuZHTML5中文学习网 - HTML5先行者学习网

  $page->{$pagePro} = $_pagination;VuZHTML5中文学习网 - HTML5先行者学习网

  return true;VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  * Get All rolesVuZHTML5中文学习网 - HTML5先行者学习网

  * level to control the statrtVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getRoleTreeSql($role_id,$quote = false,$role_table,$level=0,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql = 'select id from ('.self::getTree($role_table,true,$role_id,'id','pid','id',VuZHTML5中文学习网 - HTML5先行者学习网

  0, //MaxdepthVuZHTML5中文学习网 - HTML5先行者学习网

  $level, //LevelVuZHTML5中文学习网 - HTML5先行者学习网

  ';',$db).') utree';VuZHTML5中文学习网 - HTML5先行者学习网

  if(!$quote) return $_sql;VuZHTML5中文学习网 - HTML5先行者学习网

  else return '('.$_sql.')';VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  /*VuZHTML5中文学习网 - HTML5先行者学习网

  * Return sub query on Objects authorizationVuZHTML5中文学习网 - HTML5先行者学习网

  * Child role objects and owned objectsVuZHTML5中文学习网 - HTML5先行者学习网

  * Parent controlVuZHTML5中文学习网 - HTML5先行者学习网

  */VuZHTML5中文学习网 - HTML5先行者学习网

  public static function getCURTreeSql($role_id,$user_id,$role_table,$quote = true,VuZHTML5中文学习网 - HTML5先行者学习网

  $role='role_id',$owner = 'owner_id' ,$db='default'){VuZHTML5中文学习网 - HTML5先行者学习网

  $_sql = ' '.$role.' in '.self::getRoleTreeSql($role_id,true,$role_table,VuZHTML5中文学习网 - HTML5先行者学习网

  1, //Level start with 1VuZHTML5中文学习网 - HTML5先行者学习网

  $db). ' or '.$owner.'='.DB::quote($user_id);VuZHTML5中文学习网 - HTML5先行者学习网

  if(!$quote) return $_sql;VuZHTML5中文学习网 - HTML5先行者学习网

  else return '('.$_sql.')';VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

  }VuZHTML5中文学习网 - HTML5先行者学习网

VuZHTML5中文学习网 - HTML5先行者学习网
VuZHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助