php join 构造sql查询语句

join() 函数把数组元素组合为一个字符串,join() 函数是 implode() 函数的别名,例如下代码:

  1. <?PHP 
  2. $arr = array('hello','world!','beautiful','day!'); 
  3. echo join( ,$arr); 
  4. ?> 
  5. //输出:hello world! beautiful day! 

下面是一段Dedecms搜索页面的条件利用了join函数:

  1. if($this->starttime > 0) 
  2.   { 
  3.    $ksqls[] =  arc.senddate>'.$this->starttime.
  4.   } 
  5.   if($this->typeid > 0) 
  6.   { 
  7.    $ksqls[] =  typeid in (.getsonids($this->typeid).
  8.   } 
  9.   if($this->channeltype > 0) 
  10.   { 
  11.    $ksqls[] =  arc.channel='.$this->channeltype.'
  12.   } 
  13.   if($this->mid > 0) 
  14.   { 
  15.    $ksqls[] =  arc.mid = '.$this->mid.'
  16.   } 
  17.   $ksqls[] =  arc.arcrank > -1 
  18.   $this->addsql = ($ksql=='' ? join(' and ',$ksqls) : join(' and ',$ksqls). and ($ksql) ); 

它这里就构成了一条select * from 表 where 条件,根据$ksql多少来构造成一条完整的SQL查询语句.

注释:join() 可以接收两种参数顺序,但是由于历史原因,explode() 是不行的,你必须保证 separator 参数在 string 参数之前才行。

数据库教程中的表可通过键将彼此联系起来,主键(primary key)是一个列,在这个列中的每一行的值都是唯一的,在表中,每个主键的值都是唯一的,这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...