thinkphp5 where or,

  thinkphp5 where or,

  https://www.jiloc.com/43040.html

  前面我们介绍了ThinkPHP View视图模板的例子总结。现在,我们来总结一下ThinkPHP中查询mysql数据库时Where条件表达式的写法。

  Where条件表达式的格式为:

  $map是一个普通的数组变量,可以根据自己的需要命名。上面格式中的表达式实际上是运算符的意思:

  PHP运算符和SQL运算符的对照表

  TP SQL运算符实例实际查询条件eq=$ map [id]=array (eq ,100);相当于:$ map[ id ]=100;neq!=$map[id]=array(neq ,100);id!=100gt $map[id]=array(gt ,100);id 100egt=$map[id]=array(egt ,100);id=100lt $map[id]=array(lt ,100);id 100elt=$map[id]=array(elt ,100);id=100 like like $ map username =array( like , Admin % );用户名如 Admin % between and $ map[ id ]=array( between , 1,8 );id BETWE AND和8not betweennot between和$map[id]=array(not between , 1,8 );id NOT BETWE AND和8inin$map[id]=array(in , 1,5,8 );id in(1,5,8)not innot in $ map[ id ]=array( not in , 1,5,8 );Id not in(1,5,8)and(默认)and $ map [id]=array (array (gt ,1),array (lt ,10));(id 1)和(id 10)or or $ map[ id ]=array(array( gt ,3),array(lt ,10), or );(id 3)或(id 10)xor (xor) XOR当两个输入中只有一个为真时,结果为真,否则为假,例略。Xor1=0exp综合表达式$ map [id]=array (exp , in (1,3,8));$map[id]=array(in , 1,3,8 );

  附加备注

  和SQL一样,ThinkPHP操作符不区分大小写,eq和EQ一样。between和in条件支持字符串或数组,即以下两种写法等价:$ map [id]=array (not in , 1,5,8 );$map[id]=array(not in ,array(1 , 5 , 8 );

  表达式表达式

  上表中的Exp不是运算符,而是支持更复杂条件设置的综合表达式。exp的运算条件不会被当作字符串,任何SQL支持的语法都可以使用,包括函数和字段名的使用。

  Exp不仅用于where条件,还用于数据更新,例如:

  $ Dao=M( Article );//构建save的数据数组,文章命中数为1 $ data[ id ]=10;$data[counter]=array(exp , counter 1 );//根据条件保存修改后的数据$ User-Save($ data);

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: