在编写如下查询时应牢记哪些要点?
$sql=" And two=2";$ sql。=" And three= ";
$sqlquery="select * from".$sql;
我想做一些复杂的查询,比如
您最好将where 1=1
添加到主查询中。这样,您可以或不可以有任意数量的and连接条件。
:
$base_query = 'select * from table where 1=1';
$base_query.= 'and two = 2';
$base_query = 'and three = 3';
UPDATE: 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();
我个人更喜欢这样处理数组
$where = array();
$where[] = 'Two = 2'
$where[] = 'Three = 3';
$sql = implode(' AND ', $where);
我认为最好使用一些数据库抽象类/活动记录
问候。