field
字段参数拼装后会跟在DELETE之后,可以是字符串,也可以是数组。
┌───────────────────────┬───────────────────────┐
│ 参数类型 │ SQL语句的结果 │
├───────────────────────┼───────────────────────┤
│null │DELETE │
├───────────────────────┼───────────────────────┤
│'LOW_PRIORIT QUICK IGNORE' │DELETE LOW_PRIORIT QUICK IGNORE │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┥
│array('t1.*','t2.*') │DELETE t1.*,t2.* │
├───────────────────────┼───────────────────────┤
│array(array('LOW_PRIORIT','IGNORE'),'t1.*') │DELETE LOW_PRIORIT IGNORE t1.* │
└───────────────────────┴───────────────────────┘
table
表名参数拼装后会跟在FROM之后,可以是字符串,也可以是数组,和字段的格式除默认值以外基本一样。
┌───────────────────────┬───────────────────────┐
│ 参数类型 │ SQL语句的结果 │
├───────────────────────┼───────────────────────┤
│null │ │
├───────────────────────┼───────────────────────┤
│'table1,table2' │FROM table1,table2 │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┥
│array('table1','table2') │FROM table1,table2 │
├───────────────────────┼───────────────────────┤
│array('table1 INNER JOIN table2 USING (id)') │FROM table1 INNER JOIN table2 USING (id) │
├───────────────────────┼───────────────────────┤
│array('t1'=>'table1','t2'=>'table2') │FROM table1 AS t1,table2 AS t2 │
└───────────────────────┴───────────────────────┘
where
条件参数拼装后会跟在WHERE之后,可以是字符串,也可以是无限层的混合数组,具体方法如下。
┌───────────────────────┬───────────────────────┬───────────┐
│ 参数类型 │ SQL语句的结果 │ 占位参数数组值 │
├───────────────────────┼───────────────────────┼───────────┤
│null │ │ │
├───────────────────────┼───────────────────────┼───────────┤
│'c1=1 AND c2>=c3' │WHERE c1=1 AND c2>=c3 │ │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━┥
│array('c1=1','c2>=c3') │WHERE c1=1 AND c2>=c3 │ │
├───────────────────────┼───────────────────────┼───────────┤
│array(array('c1=1','c2>=c3'),'c4=1') │WHERE (c1=1 OR c2>=c3) AND c4=1 │ │
├───────────────────────┼───────────────────────┼───────────┤
│array(array(array('c1=1','c2>=c3'),'c4=1')) │WHERE (c1=1 AND c2>=c3 OR c4=1) │ │
├───────────────────────┼───────────────────────┼───────────┤
│array('c1'=>'s1','c2'=>array('s2','s3')) │WHERE c1=? AND c2 IN (?,?) │array('s1','s2','s3') │
├───────────────────────┼───────────────────────┼───────────┤
│array('c1 LIKE ?'=>'%s%') │WHERE c1 LIKE ? │array('%s%') │
├───────────────────────┼───────────────────────┼───────────┤
│array('c1 BETWEEN ? AND ?'=>array(100,200)) │WHERE c1 BETWEEN ? AND ? │array(100,200) │
└───────────────────────┴───────────────────────┴───────────┘
other
其他参数拼装后会跟在整个SQL语句之后,可以是字符串,也可以是数组或二维混合数组。该参数可以接受page下标的分页指令。
┌───────────────────────┬───────────────────────┬───────────┐
│ 参数类型 │ SQL语句的结果 │ 占位参数数组值 │
├───────────────────────┼───────────────────────┼───────────┤
│null │ │ │
├───────────────────────┼───────────────────────┼───────────┤
│'LIMIT 10' │LIMIT 10 │ │
┝━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━━━━━━━━━━━━━┿━━━━━━━━━━━┥
│array('LIMIT'=>10) │LIMIT ? │array(10) │
└───────────────────────┴───────────────────────┴───────────┘
class
当表名为空值时会以该类名加前缀作为表名,当该值还为空时PHP 5.3会取延迟绑定的类名加前缀作为表名。
sql
删除的SQL语句,支持问号形式的占位符。
param
配合SQL语句和占位符对应的参数数组。