亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

ThinkPHP中$map用法

2020-03-22 20:30:10
字體:
來源:轉載
供稿:網友
  • ThinkPHP內置了非常靈活的查詢方法,可以快速的進行數(shù)據(jù)查詢操作,查詢條件可以用于CURD等任何操作,作為where方法的參數(shù)傳入即可,下面來一一講解查詢語言的內涵。查詢方式ThinkPHP可以支持直接使用字符串作為查詢條件,但是大多數(shù)情況推薦使用索引數(shù)組或者對象來作為查詢條件,因為會更加安全。
    一、使用字符串作為查詢條件
    這是最傳統(tǒng)的方式,但是安全性不高,例如:

    $User = M("User"); // 實例化User對象

    $User->where('type=1 AND status=1')->select(); 最后生成的SQL語句是
    SELECT * FROM think_user WHERE type=1 AND status=1 1 二、使用數(shù)組作為查詢條件

    $User = M("User"); // 實例化User對象

    $condition['name'] = 'thinkphp';

    $condition['status'] = 1;

    // 把查詢條件傳入查詢方法

    $User->where($condition)->select(); 最后生成的SQL語句是
    SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
    如果進行多字段查詢,那么字段之間的默認邏輯關系是 邏輯與 AND,但是用下面的規(guī)則可以更改默認的邏輯判斷,通過使用 _logic 定義查詢邏輯:

    $User = M("User"); // 實例化User對象

    $condition['name'] = 'thinkphp';

    $condition['account'] = 'thinkphp';

    $condition['_logic'] = 'OR';

    // 把查詢條件傳入查詢方法

    $User->where($condition)->select(); 最后生成的SQL語句是
    SELECT * FROM think_user WHERE `name`='thinkphp' OR `account`='thinkphp' 1 三、使用對象方式來查詢 (這里以stdClass內置對象為例)

    $User = M("User"); // 實例化User對象

    // 定義查詢條件

    $condition = new stdClass();

    $condition->name = 'thinkphp';

    $condition->status= 1;

    $User->where($condition)->select(); 最后生成的SQL語句和上面一樣
    SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
    使用對象方式查詢和使用數(shù)組查詢的效果是相同的,并且是可以互換的,大多數(shù)情況下,我們建議采用數(shù)組方式更加高效,后面我們會以數(shù)組方式為例來講解具體的查詢語言用法。 5

    表達式查詢上面的查詢條件僅僅是一個簡單的相等判斷,可以使用查詢表達式支持更多的SQL查詢語法,并且可以用于數(shù)組或者對象方式的查詢(下面僅以數(shù)組方式為例說明),查詢表達式的使用格式:
    $map['字段名'] = array('表達式','查詢條件');
    表達式不分大小寫,支持的查詢表達式有下面幾種,分別表示的含義是: EQ 等于(=) NEQ 不等于(<>) GT 大于(>) EGT 大于等于(>=) LT 小于(<) ELT 小于等于(<=) LIKE 模糊查詢 [NOT] BETWEEN (不在)區(qū)間查詢 [NOT] IN (不在)IN 查詢 EXP 表達式查詢,支持SQL語法
    表達式 含義
    示例如下:
    EQ :等于(=)
    例如:

    $map['id'] = array('eq',100); 和下面的查詢等效

    $map['id'] = 100; 表示的查詢條件就是 id = 100

    NEQ: 不等于(<>)
    例如:

    $map['id'] = array('neq',100); 表示的查詢條件就是 id <> 100

    GT:大于(>)
    例如:

    $map['id'] = array('gt',100); 表示的查詢條件就是 id > 100

    EGT:大于等于(>=)
    例如:

    $map['id'] = array('egt',100); 表示的查詢條件就是 id >= 100

    LT:小于(<)
    例如:

    $map['id'] = array('lt',100); 表示的查詢條件就是 id < 100

    ELT: 小于等于(<=)
    例如:

    $map['id'] = array('elt',100); 表示的查詢條件就是 id <= 100

    [NOT] LIKE: 同sql的LIKE
    例如:

    $map['name'] = array('like','thinkphp%'); 查詢條件就變成 name like 'thinkphp%'
    如果配置了DB_LIKE_FIELDS參數(shù)的話,某些字段也會自動進行模糊查詢。例如設置了:

    'DB_LIKE_FIELDS'=>'title|content' 的話,使用

    $map['title'] = 'thinkphp'; 查詢條件就會變成 name like '%thinkphp%'
    支持數(shù)組方式,例如

    $map['a'] =array('like',array('%thinkphp%','%tp'),'OR');

    $map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND'); 生成的查詢條件就是:
    (a like '%thinkphp%' OR a like '%tp') AND (b not like '%thinkphp%' AND b not like '%tp')

    [NOT] BETWEEN :同sql的[not] between, 查詢條件支持字符串或者數(shù)組,例如:

    $map['id'] = array('between','1,8'); 和下面的等效:

    $map['id'] = array('between',array('1','8')); 查詢條件就變成 id BETWEEN 1 AND 8

    [NOT] IN: 同sql的[not] in ,查詢條件支持字符串或者數(shù)組,例如:

    $map['id'] = array('not in','1,5,8'); 和下面的等效:

    $map['id'] = array('not in',array('1','5','8')); 查詢條件就變成 id NOT IN (1,5, 8)
    EXP:表達式,支持更復雜的查詢情況
    例如:

    $map['id'] = array('in','1,3,8'); 可以改成:

    $map['id'] = array('exp',' IN (1,3,8) '); exp查詢的條件不會被當成字符串,所以后面的查詢條件可以使用任何SQL支持的語法,包括使用函數(shù)和字段名稱。查詢表達式不僅可用于查詢條件,也可以用于數(shù)據(jù)更新,例如:

    $User = M("User"); // 實例化User對象

    // 要修改的數(shù)據(jù)對象屬性賦值

    $data['name'] = 'ThinkPHP';

    $data['score'] = array('exp','score+1');// 用戶的積分加1

    $User->where('id=5')->save($data); // 根據(jù)條件保存修改的數(shù)據(jù) 1

    快捷查詢新版增加了快捷查詢方式,可以進一步簡化查詢條件的寫法,例如:
    一、實現(xiàn)不同字段相同的查詢條件

    $User = M("User"); // 實例化User對象

    $map['name|title'] = 'thinkphp';

    // 把查詢條件傳入查詢方法

    $User->where($map)->select(); 查詢條件就變成 name= 'thinkphp' OR title = 'thinkphp'

    二、實現(xiàn)不同字段不同的查詢條件

    $User = M("User"); // 實例化User對象

    $map['status&title'] =array('1','thinkphp','_multi'=>true);

    // 把查詢條件傳入查詢方法

    $User->where($map)->select(); '_multi'=>true必須加在數(shù)組的最后,表示當前是多條件匹配,這樣查詢條件就變成 status= 1 AND title = 'thinkphp' ,查詢字段支持更多的,例如:
    $map['status&score&title'] =array('1',array('gt','0'),'thinkphp','_multi'=>true);
    查詢條件就變成 status= 1 AND score >0 AND title = 'thinkphp'

    注意:快捷查詢方式中“|”和“&”不能同時使用。 2

    區(qū)間查詢ThinkPHP支持對某個字段的區(qū)間查詢,例如:

    $map['id'] = array(array('gt',1),array('lt',10)) ; 得到的查詢條件是: (`id` > 1) AND (`id` < 10)

    $map['id'] = array(array('gt',3),array('lt',10), 'or') ; 得到的查詢條件是: (`id` > 3) OR (`id` < 10)

    $map['id'] = array(array('neq',6),array('gt',3),'and'); 得到的查詢條件是:(`id` != 6) AND (`id` > 3)
    最后一個可以是AND、 OR或者 XOR運算符,如果不寫,默認是AND運算。
    區(qū)間查詢的條件可以支持普通查詢的所有表達式,也就是說類似LIKE、GT和EXP這樣的表達式都可以支持。另外區(qū)間查詢還可以支持更多的條件,只要是針對一個字段的條件都可以寫到一起,例如:

    $map['name'] = array(array('like','%a%'), array('like','%b%'), array('like','%c%'), 'ThinkPHP','or'); 最后的查詢條件是:

    (`name` LIKE '%a%') OR (`name` LIKE '%b%') OR (`name` LIKE '%c%') OR (`name` = 'ThinkPHP') 2

    組合查詢如果你需要在查詢的時候同時偶爾使用字符串卻又不希望丟失數(shù)組方式的靈活的話,可以考慮使用組合查詢。
    組合查詢的主體還是采用數(shù)組方式查詢,只是加入了一些特殊的查詢支持,包括字符串模式查詢(_string)、復合查詢(_complex)、請求字符串查詢(_query),混合查詢中的特殊查詢每次查詢只能定義一個,由于采用數(shù)組的索引方式,索引相同的特殊查詢會被覆蓋。
    一、字符串模式查詢(采用_string 作為查詢條件)
    數(shù)組條件還可以和字符串條件混合使用,例如:

    $User = M("User"); // 實例化User對象

    $map['id'] = array('neq',1);

    $map['name'] = 'ok';

    $map['_string'] = 'status=1 AND score>10';

    $User->where($map)->select(); 最后得到的查詢條件就成了:
    ( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )

    二、請求字符串查詢方式
    請求字符串查詢是一種類似于URL傳參的方式,可以支持簡單的條件相等判斷。

    $map['id'] = array('gt','100');

    $map['_query'] = 'status=1&score=100&_logic=or'; 得到的查詢條件是:`id`>100 AND (`status` = '1' OR `score` = '100')

    三、復合查詢
    復合查詢相當于封裝了一個新的查詢條件,然后并入原來的查詢條件之中,所以可以完成比較復雜的查詢條件組裝。
    例如:

    $where['name'] = array('like', '%thinkphp%');

    $where['title'] = array('like','%thinkphp%');

    $where['_logic'] = 'or';

    $map['_complex'] = $where;

    $map['id'] = array('gt',1); 查詢條件是
    ( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )
    復合查詢使用了_complex作為子查詢條件來定義,配合之前的查詢方式,可以非常靈活的制定更加復雜的查詢條件。
    很多查詢方式可以相互轉換,例如上面的查詢條件可以改成:

    $where['id'] = array('gt',1);

    $where['_string'] = ' (name like "%thinkphp%") OR ( title like "%thinkphp") '; 最后生成的SQL語句是一致的。 3

    統(tǒng)計查詢在應用中我們經常會用到一些統(tǒng)計數(shù)據(jù),例如當前所有(或者滿足某些條件)的用戶數(shù)、所有用戶的最大積分、用戶的平均成績等等,ThinkPHP為這些統(tǒng)計操作提供了一系列的內置方法,包括: Count 統(tǒng)計數(shù)量,參數(shù)是要統(tǒng)計的字段名(可選) Max 獲取最大值,參數(shù)是要統(tǒng)計的字段名(必須) Min 獲取最小值,參數(shù)是要統(tǒng)計的字段名(必須) Avg 獲取平均值,參數(shù)是要統(tǒng)計的字段名(必須) Sum 獲取總分,參數(shù)是要統(tǒng)計的字段名(必須)
    方法 說明
    用法示例:

    $User = M("User"); // 實例化User對象 獲取用戶數(shù):

    $userCount = $User->count(); 或者根據(jù)字段統(tǒng)計:

    $userCount = $User->count("id"); 獲取用戶的最大積分:

    $maxScore = $User->max('score'); 獲取積分大于0的用戶的最小積分:

    $minScore = $User->where('score>0')->min('score'); 獲取用戶的平均積分:

    $avgScore = $User->avg('score'); 統(tǒng)計用戶的總成績:

    $sumScore = $User->sum('score'); 并且所有的統(tǒng)計查詢均支持連貫操作的使用。

    定位查詢ThinkPHP支持定位查詢,但是要求當前模型必須繼承高級模型類才能使用,可以使用getN方法直接返回查詢結果中的某個位置的記錄。例如:
    獲取符合條件的第3條記錄:

    $User->where('score>0')->order('score desc')->getN(2); 獲取符合條件的最后第二條記錄:

    $User-> where('score>80')->order('score desc')->getN(-2); 獲取第一條記錄:

    $User->where('score>80')->order('score desc')->first(); 獲取最后一條記錄:

    $User->where('score>80')->order('score desc')->last();

    SQL查詢ThinkPHP內置的ORM和ActiveRecord模式實現(xiàn)了方便的數(shù)據(jù)存取操作,而且新版增加的連貫操作功能更是讓這個數(shù)據(jù)操作更加清晰,但是ThinkPHP仍然保留了原生的SQL查詢和執(zhí)行操作支持,為了滿足復雜查詢的需要和一些特殊的數(shù)據(jù)操作,SQL查詢的返回值因為是直接返回的Db類的查詢結果,沒有做任何的處理。主要包括下面兩個方法:
    1、query方法 用法 query($sql,$parse=false) 參數(shù) query(必須):要查詢的SQL語句
    parse(可選):是否需要解析SQL 返回值

    如果數(shù)據(jù)非法或者查詢錯誤則返回false


    否則返回查詢結果數(shù)據(jù)集(同select方法)

    query 執(zhí)行SQL查詢操作
    使用示例:

    $Model = new Model() // 實例化一個model對象 沒有對應任何數(shù)據(jù)表

    $Model->query("select * from think_user where status=1"); 如果你當前采用了分布式數(shù)據(jù)庫,并且設置了讀寫分離的話,query方法始終是在讀服務器執(zhí)行,因此query方法對應的都是讀操作,而不管你的SQL語句是什么。 2、execute方法

    用法 execute($sql,$parse=false) 參數(shù) query(必須):要執(zhí)行的SQL語句
    parse(可選):是否需要解析SQL 返回值 如果數(shù)據(jù)非法或者查詢錯誤則返回false
    否則返回影響的記錄數(shù)
    execute用于更新和寫入數(shù)據(jù)的sql操作
    使用示例:

    $Model = new Model() // 實例化一個model對象 沒有對應任何數(shù)據(jù)表

    $Model->execute("update think_user set name='thinkPHP' where status=1"); 如果你當前采用了分布式數(shù)據(jù)庫,并且設置了讀寫分離的話,execute方法始終是在寫服務器執(zhí)行,因此execute方法對應的都是寫操作,而不管你的SQL語句是什么。 3、其他技巧
    自動獲取當前表名
    通常使用原生SQL需要手動加上當前要查詢的表名,如果你的表名以后會變化的話,那么就需要修改每個原生SQL查詢的sql語句了,針對這個情況,系統(tǒng)還提供了一個小的技巧來幫助解決這個問題。
    例如:

    $model = M("User");

    $model->query('select * from __TABLE__ where status>1'); 我們這里使用了__TABLE__ 這樣一個字符串,系統(tǒng)在解析的時候會自動替換成當前模型對應的表名,這樣就可以做到即使模型對應的表名有所變化,仍然不用修改原生的sql語句。

    支持連貫操作和SQL解析
    新版對query和execute兩個原生SQL操作方法增加第二個參數(shù)支持, 表示是否需要解析SQL (默認為false 表示直接執(zhí)行sql ),如果設為true 則會解析SQL中的特殊字符串 (需要配合連貫操作)。
    例如,支持 如下寫法:

    $model->table("think_user")

    ->where(array("name"=>"thinkphp"))

    ->field("id,name,email")

    ->query('select %FIELD% from %TABLE% %WHERE%',true); 其中query方法中的%FIELD%、%TABLE%和%WHERE%字符串會自動替換為同名的連貫操作方法的解析結果SQL,支持的替換字符串包括:

    %FIELD% field %TABLE% table %DISTINCT% distinct %WHERE% where %JOIN% join %GROUP% group %HAVING% having %ORDER% order %LIMIT% limit %UNION% union
    替換字符串 對應連貫操作方法
    5動態(tài)查詢借助PHP5語言的特性,ThinkPHP實現(xiàn)了動態(tài)查詢,包括下面幾種: getBy 根據(jù)某個字段的值查詢數(shù)據(jù) 例如,getByName,getByEmail getFieldBy 根據(jù)某個字段查詢并返回某個字段的值 例如,getFieldByName top 獲取前多少條記錄(需要高級模型支持) 例如,top8,top12
    方法名 說明 舉例
    一、getBy動態(tài)查詢
    該查詢方式針對數(shù)據(jù)表的字段進行查詢。例如,User對象擁有id,name,email,address 等屬性,那么我們就可以使用下面的查詢方法來直接根據(jù)某個屬性來查詢符合條件的記錄。

    $user = $User->getByName('liu21st');

    $user = $User->getByEmail('liu21st@gmail.com');

    $user = $User->getByAddress('中國深圳'); 暫時不支持多數(shù)據(jù)字段的動態(tài)查詢方法,請使用find方法和select方法進行查詢。 二、getFieldBy動態(tài)查詢
    針對某個字段查詢并返回某個字段的值,例如

    $user = $User->getFieldByName('liu21st','id'); 表示根據(jù)用戶的name獲取用戶的id值。 三、top動態(tài)查詢
    ThinkPHP還提供了另外一種動態(tài)查詢方式,就是獲取符合條件的前N條記錄(和定位查詢一樣,也要求當前模型類必須繼承高級模型類后才能使用)。例如,我們需要獲取當前用戶中積分大于0,積分最高的前5位用戶 :

    $User-> where('score>80')->order('score desc')->top5(); 要獲取積分的前8位可以改成:

    $User-> where('score>80')->order('score desc')->top8(); 5

    子查詢新版新增了子查詢支持,有兩種使用方式:
    1、使用select方法
    當select方法的參數(shù)為false的時候,表示不進行查詢只是返回構建SQL,例如:

    // 首先構造子查詢SQL

    $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false); 2、使用buildSql方法

    $subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql(); 調用buildSql方法后不會進行實際的查詢操作,而只是生成該次查詢的SQL語句(為了避免混淆,會在SQL兩邊加上括號),然后我們直接在后續(xù)的查詢中直接調用。

    // 利用子查詢進行查詢

    $model->table($subQuery.' a')->where()->order()->select() 構造的子查詢SQL可用于TP的連貫操作方法,例如table where等。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

  • 發(fā)表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發(fā)表
    4438欧美| 欧美成人免费观看| 78精品国产综合久久香蕉| 粉嫩老牛aⅴ一区二区三区| 黄色一级一级片| 欧美 日韩 国产 成人 在线| 影音先锋在线视频| 18欧美乱大交| 国产女人18毛片水真多成人如厕| 亚洲福利视频一区| 激情网站在线观看| 国产精品久久久久影院色老大| 亚洲视频 中文字幕| 久久久久久国产精品| 亚洲mv大片欧洲mv大片| av成人app永久免费| 在线视频一二三区| 好吊色视频在线观看| 欧美久久一二区| 精品视频免费观看| 91福利免费在线| 欧美xxxx黑人又粗又长| 国产精品国产精品国产专区不蜜| 精品国产一区二区三区香蕉沈先生| 超碰在线观看免费| 国产精品中文字幕亚洲欧美| 色老综合老女人久久久| 久久国产主播精品| 成人免费视频国产在线观看| 黄色av网站免费| 成人18视频免费69| 精品视频在线播放一区二区三区| 欧美一区二区.| 日本黄色免费视频| 欧美大胆a视频| 免费成人在线观看av| 蜜臀久久99精品久久久久久宅男| 一区二区视频免费观看| 欧美乱大交做爰xxxⅹ小说| 我要看一级黄色录像| 成人在色线视频在线观看免费大全| 国产精品不卡一区二区三区| 香蕉成人app免费看片| 亚洲二区在线视频| 亚洲免费在线看| 亚洲激情在线观看| 精品欧美激情在线观看| 亚洲图片欧美日韩| 九色porny丨国产精品| 综合av在线| 日韩电影毛片| 在线不卡免费欧美| 中文字幕在线视频久| 美女久久久久久久久久| 噜噜噜久久亚洲精品国产品麻豆| 国产精品欧美一级免费| 97香蕉久久夜色精品国产| 99热成人精品热久久66| 日韩av电影资源网| 九色porny自拍视频在线观看| 亚洲3atv精品一区二区三区| 日韩av自拍| 男人的天堂亚洲在线| 免费污污视频在线观看| av资源网站在线观看| 国产在线免费视频| 极品色影院av| 国风产精品一区二区| 4438全国成人免费| 亚洲一本大道| 手机av在线网站| 中文字幕视频网站| 欧洲视频一区| 99久久久无码国产精品性| 亚洲色图17p| 99免费视频观看| 日本wwww色| 欧美日韩在线观看一区二区三区| 在线成人免费| 天天久久综合| 麻豆av在线导航| 色偷偷888欧美精品久久久| 国产精品第十页| 少女频道在线观看免费播放电视剧| 亚洲热在线观看| 亚洲激情视频网| 成人免费视频一区二区| 亚洲三级免费观看| 日本免费三片免费观看| 国产又大又黄又猛| 国产精品亚洲一区二区三区在线观看| 午夜免费视频网站| 在线观看特色大片免费视频| 久久久久无码精品国产sm果冻| 国产99精品一区| 欧美午夜不卡在线观看免费| 亚洲国产视频一区二区三区| 欧美日本在线视频中文字字幕| 五月天激情国产综合婷婷婷| 亚洲风情亚aⅴ在线发布| 国产又大又黄又粗| 一区二区在线观看视频在线观看| 日韩欧美在线不卡| 国产91高潮流白浆在线麻豆| 亚洲女人小视频在线观看| 伊人网视频在线| jizz中国女人| 交换国产精品视频一区| 久久久之久亚州精品露出| 另类中文字幕国产精品| 深夜福利av你懂的| caopor在线| 久久综合久久久久| 国产乱色精品成人免费视频| 国产清纯美女被跳蛋高潮一区二区久久w| 深夜福利视频在线观看| 丁香综合在线| 午夜视频在线观看国产| www.-级毛片线天内射视视| 亚洲视频欧洲视频| 97超级在线观看免费高清完整版电视剧| 7799国产精品久久久久99| 欧美午夜不卡影院在线观看完整版免费| 中文字幕5566| 性伦欧美刺激片在线观看| 欧美成人猛片aaaaaaa| 性欧美在线视频| 欧美性受xxxx黑人爽| 欧美写真视频网站| 欧美77777免费视频| 欧美在线不卡| 久久国产精品久久久久久小说| 欧美三级网站在线观看| 原创国产精品91| 日本一区二区三不卡| 日韩视频欧美视频| 91久热免费在线视频| 亚洲欧洲视频在线观看| 天堂va欧美ⅴa亚洲va一国产| 卡通动漫精品一区二区三区| 亚洲都市激情| 亚洲AV无码精品自拍| 欧美在线观看一区| 免费看一区二区三区| 无码人妻aⅴ一区二区三区69岛| 久久久天天操| 亚洲精品白浆高清久久久久久| 久久人人爽爽人人爽人人片av| 成年人免费高清视频| 欧美一级爱爱视频| 蜜臀在线免费观看| 国产成人精品免费视| 亚洲人成高清| 亚洲欧洲综合| 久热精品在线观看| 久久久国产精品黄毛片| 国产精品va在线| 综合国产第二页| 亚洲欧洲高清| 中文字幕巨乱亚洲| 黄页在线观看| 精品无码一区二区三区爱欲| 日本久久久久久久| 国产精品欧美精品| 无码国产精品一区二区色情男同| av资源网在线观看| 日韩一二三区不卡| 五月综合色婷婷| 日本精品一区二区三区在线播放| 欧洲精品久久一区二区| 国产深夜视频在线观看| 亚洲国产91精品在线观看| caoporn97免费视频公开| 日韩污视频在线观看| 国产成人啪免费观看软件| 亚洲第一毛片| 亚洲一区二区三区免费在线观看| av中文字幕在线观看第一页| 日韩福利影院| 国产精品99一区| 男女一区二区三区免费| 91精品中文字幕一区二区三区| 在线免费av网| 香蕉久久精品| 小次郎av收藏家| 人人干在线视频| 久久综合入口| 无码人妻精品一区二区三区99不卡| 亚洲综合色噜噜狠狠| gogo大尺度成人免费视频| 99久久99久久精品国产片果冰| 国产成人综合精品在线| 久久久人人爽| 小泽玛利亚一区| 成人黄色国产精品网站大全在线免费观看| gogo在线高清视频| 丰满少妇一区| 日韩免费av一区二区| 精品无码一区二区三区爱欲| 欧美精品久久久久久久久| 羞羞色国产精品网站| 爆操妹子视频在线观看| 欧洲日韩一区二区三区| 亚洲av无码乱码国产精品fc2| 永久免费未满蜜桃| www污网站在线观看| 国产日韩久久| 最新中文字幕免费视频| eeuss影院130020部| 玛丽玛丽电影原版免费观看1977| 欧美成人第一页| gogogo影视剧免费观看在线观看| 日本wwwwww| 亚洲视频网站在线| 韩国av一区| 嫩草一区二区三区| 正在播放一区二区| 情事1991在线| 四虎一区二区三区| 性色av无码久久一区二区三区| 国产乱子夫妻xx黑人xyx真爽| 91在线国产电影| 不卡一区二区在线| yiren22亚洲综合伊人22| 精品免费视频一区二区| 天堂在线中文| 欧美日韩中文字幕一区二区三区| 欧洲成人综合网| 欧美激情护士| 三叶草欧洲码在线| 国产精品久久久999| 91欧美精品成人综合在线观看| 国产永久免费高清在线观看视频| 91中文字幕在线视频| 欧美精品免费在线| 日韩一区二区高清视频| 欧美精选视频一区二区| 人妻丰满熟妇av无码区| 美女诱惑一区二区| 蜜乳av一区二区三区| 国产成人无码一区二区在线观看| 久久精品一区四区| 国产在线观看免费麻豆| 欧洲成人在线观看| 大桥未久在线播放| 男男gay免费网站| 午夜福利理论片在线观看| 天天夜夜人人| 中文字幕av一区二区| 欧美日韩系列| 99视频在线免费播放| 亚洲少妇中文在线| 久久精品高清| 亚洲性av网站| 国产午夜福利片| 久久国产成人精品| 国产精品久久久久久久久久尿| 成人在线小视频| 精品国产1区二区| 国产又黄又粗视频| 爆乳熟妇一区二区三区霸乳| 欧洲免费在线视频| 最近中文字幕一区二区| 视频福利一区| 日韩美女天天操| 97av免费视频| 亚洲精品国产精品国自产观看浪潮| 亚洲激情国产精品| 成人动态视频| 最新中文字幕在线视频| 精品中文字幕一区二区| 牛牛在线精品视频| 精品视频在线观看一区| 国产一级特黄a大片99| 国产精品白嫩美女在线观看| 日韩精品免费综合视频在线播放| 国产 欧美 日韩 在线| 免费的黄色av| 在线不卡欧美精品一区二区三区| 欧美亚洲另类在线| 欧美精品一区二区三区在线| 亚洲一区网站| 人狥杂交一区欧美二区| 亚洲激情图片| 蜜臀视频在线观看| 视频区小说区图片区| 一个人看的www视频免费在线观看| 欧美另类极品videosbestfree| 男人av资源站| 中文字幕乱码亚洲精品一区| 青青青手机在线视频观看| 欧美va天堂va视频va在线| avtt在线播放| 99香蕉国产精品偷在线观看| 99久久国产综合精品女不卡| 成人短剧在线观看| 国内爆初菊对白视频| 久久亚洲春色中文字幕| 99色在线观看| 欧美jizz18性欧美| 国产对白在线正在播放| 国产 中文 字幕 日韩 在线| 欧美一区二区视频免费观看| 成人在线资源网址| 国产精品美女在线观看直播| 91欧美激情另类亚洲| 日韩视频精品在线观看| 久久久91精品国产一区二区精品| 黄色三级免费电影| 久久久久日韩精品久久久男男| 精品国产乱码久久久久久果冻传媒| 日韩精品欧美专区| 亚洲一区二区三区影院| 久艹在线免费观看| 国产精品自拍在线| 人人妻人人澡人人爽欧美一区双| 欧美日韩高清免费| 一级黄色大片免费| 校园激情久久| 亚洲xxxx2d动漫1| www.99re6| 欧美国产日韩a欧美在线观看| 亚洲人成无码网站久久99热国产| 亚洲AV无码国产精品午夜字幕| 亚洲成人一区二区在线观看| 久久伊人91精品综合网站| 日韩激情视频在线播放| 亚洲欧美精品伊人久久|