在编写查询时应记住哪些要点?
$ sql =“和两个= 2”;
$ sql。=“和三= 3”;
$ sqlquery =“select * from”。$ sql;
我想制作像示例
这样的复杂查询答案 0 :(得分:1)
您最好将where 1=1
添加到主查询中。这样你就可以有或没有任何数量的AND连接条件。
像这样:
$base_query = 'select * from table where 1=1';
$base_query.= 'and two = 2';
$base_query = 'and three = 3';
更新: Doctrine ORM风格查询:
//$em is instance of EntityManager
$qb = $em->createQueryBuilder();
$qb->select('u')
->from('User', 'u')
->where('u.id = ?1')
->orderBy('u.name ASC');
//you could add any part of query later
$qb->andWhere("u.name = 'John'");
$query = $qb->getQuery();
$result = $query->getResult();
答案 1 :(得分:0)
我个人喜欢用类似的数组做到这一点:
$where = array();
$where[] = 'Two = 2'
$where[] = 'Three = 3';
$sql = implode(' AND ', $where);
我认为使用某些数据库抽象类/活动记录
的其他选项更好问候。