아래에서 쿼리를 작성하는 동안 유의해야 할 점은 무엇입니까?프로그램 조건에 따라 런타임에 빌드를 쿼리하십시오.
$ sql = "2 = 2";
$ sql. = "3 = 3";
$ sqlquery = "select * from". $ sql;
나는 당신은 더 나은 메인 쿼리에 where 1=1
를 추가하려는 예를
아래에서 쿼리를 작성하는 동안 유의해야 할 점은 무엇입니까?프로그램 조건에 따라 런타임에 빌드를 쿼리하십시오.
$ sql = "2 = 2";
$ sql. = "3 = 3";
$ 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 : 교리 ORM 스타일 quering :
//$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);
기타 옵션 내 생각에 일부 데이터베이스 absraction 클래스/활성 레코드를 사용하는 것이 더 좋습니다
감사합니다.
너무 성가신 작업 – Arush
또한 변수를 추가하고 업데이트 쿼리를 작성하는 데 어려움이 있습니다. – Arush
건물 선택 및 업데이트 쿼리를 일반화하려고 할 때 어려움을 겪을 것입니다. 교리와 같은 몇 가지 ORM을 살펴 보라고 제안합니다. 처음에는 일반 SQL을 작성하는 것보다 복잡하지만 유지 보수는 훨씬 간단합니다. http://stackoverflow.com/questions/185358/simple-php-orm을 참조하십시오. 개인적으로 Doctrine ORM을 권하고 싶습니다. http://www.doctrine-project.org/ – J0HN
쿼리를 작성하는 데 어떤 스타일이 더 좋을 것이라고 생각하십니까? – Arush