이 기사의 예는 thinkphp가 퍼지 쿼리와 같은 구현 방법을 설명하고 참고용으로 공유됩니다. 구체적인 구현 방법은 다음과 같습니다.
현재 점점 더 많은 사람들이 프로젝트 개발을 위해 thinkphp 프레임워크를 사용하고 있습니다. 좋은 캡슐화로 인해 순수 PHP 개발의 많은 부분을 시작하기가 쉽지 않습니다. 이 기사에서는 이를 설명하기 위해 퍼지 쿼리와 같은 것을 사용합니다.
다음은 사용법을 설명하기 위한 주요 예입니다.
ThinkPHP에서는 문자열을 쿼리 조건으로 직접 사용하는 것을 지원할 수 있지만 대부분의 경우 인덱스 배열이나 객체를 쿼리 조건으로 사용하는 것이 더 안전하기 때문에 권장됩니다.
1. 문자열을 쿼리 조건으로 사용
가장 전통적인 방법이지만 그다지 안전하지는 않습니다.
예:
$User = M("User") // 사용자 개체 인스턴스화
$User->where('type=1 AND status=1')->select();
최종 생성된 SQL 문은 입니다.
SELECT * FROM think_user WHERE type=1 AND status=1
다중 필드 쿼리를 수행하는 경우 필드 간의 기본 논리적 관계는 논리적 AND이지만 _logic을 사용하여 쿼리 논리를 정의하면 다음 규칙을 사용하여 기본 논리적 판단을 변경할 수 있습니다.
$User = M("User") // 사용자 개체 인스턴스화
$condition['name'] = 'thinkphp';
$condition['account'] = 'thinkphp';
$condition['_logic'] = 'OR';
// 쿼리 조건을 쿼리 메소드에 전달합니다
$User->where($condition)->select();
최종 생성된 SQL 문은 입니다.
SELECT * FROM think_user WHERE `name`='thinkphp' 또는 `계정 `='thinkphp'
2. 쿼리 조건으로 배열 방식
질문과 같은 구현 방법에 대해 많이 이야기했는데, 아래에서 살펴보겠습니다
$userForm=M('user')
$where['name']=array('like','jb51%');
$userForm->where($where)->select();
여기서 좋아요 쿼리는
name like 'jb51%'
쿼리문:
$where['name']=array ('like',array('%jb51%','%.com'),'OR');
여기서 좋아요 쿼리는 다음과 같습니다.
'%jb51%' 같은 이름 또는 이름 '%.com'처럼
쿼리문:
$where['name']=array (array( 'like','%a%'),array('like','%b%'),array('like','%c%'),'jb51','or');
여기서 좋아요 쿼리는 다음과 같습니다.
(`name` LIKE '%a% ') OR (`이름` LIKE '%b%') OR (`이름` LIKE '%c%') OR (`이름` = 'jb51')
쿼리문:
$where['_string']=' ("%jb51%"와 같은 이름) 또는 ("%jb51"과 같은 제목)';
여기서 좋아요 쿼리는 다음과 같습니다.
'%jb51%' 같은 이름 또는 '%jb51' 같은 제목
이 기사가 모든 사람의 PHP 프로그래밍 설계에 도움이 되기를 바랍니다.