>백엔드 개발 >PHP 튜토리얼 >ThinkPHP 쿼리문 및 관련 쿼리 사용 example_php 예제

ThinkPHP 쿼리문 및 관련 쿼리 사용 example_php 예제

WBOY
WBOY원래의
2016-05-16 20:33:37971검색

이 기사의 예에서는 ThinkPHP 쿼리문 및 관련 쿼리의 사용법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 내용은 다음과 같습니다.

thinkphp 프레임워크 페이지에서는 SQL 쿼리 문을 직접 작성하여 데이터베이스 쿼리 읽기 및 쓰기 작업을 구현할 수 있습니다. 다음은 이를 설명하는 예입니다.

일반 질의에는 문자열 질의 조건 외에도 배열, 객체 질의 조건이 많이 사용되는데, 기본 질의에는 꼭 필요한 조건들이다.

1. 배열을 쿼리 조건으로 사용

코드 복사 코드는 다음과 같습니다.
$User = M("User") //사용자 인스턴스화 객체

$condition['name'] = 'thinkphp'; // 쿼리 조건을 쿼리 메소드에 전달
$User->where($condition)->select();


2. 객체 메소드를 사용하여 쿼리할 수 있습니다. 여기서는 stdClass 내장 객체를 예로 들어 보겠습니다.

코드 복사 코드는 다음과 같습니다.
$User = M("User") // 사용자 개체 인스턴스화
//쿼리 조건 정의 $condition = new stdClass();
$condition->name = 'thinkphp'; // name 값이 thinkphp인 레코드를 조회합니다
$User->where($condition)->select(); // 위의 쿼리 조건은 where('name="thinkphp"')와 동일합니다. 객체 모드 쿼리를 사용하는 경우와 배열 쿼리를 사용하는 경우는 같습니다. 똑같고, 그렇습니다

where 조건을 사용한 일반 쿼리

1. 문자열 형식

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$list=$user->where('id>5 및 id<9')->select();
$list=$user->where($data)->select();

2. 배열 형태

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$list=$user->where(array('username'=>'www.jb51.net'))->select();
$list=$user->where($data)->select();

3. 객체 형태

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$a=새로운 stdClass();
$a->사용자 이름='www.jb51.net;
$list=$user->where($a)->select();

두 테이블 간의 연관 쿼리:

코드 복사 코드는 다음과 같습니다.
$M_shopping = M('Shops')
$M_product = M('제품')
$list_shops = $M_shopping->join('남은 상점이 상점에서 hr_product를 제품으로 가입합니다.product_id = product.p_id')
->field('product.p_id,product.p_name,shops.product_amount,shops.product_id')
->where("shops.user_cookie='".$_COOKIE['hr_think_userid']."'")
->group('shops.id')
->select();

간격 쿼리

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$data['id']=array(array('gt',20),array('lt',23),'and');
$list=$user->where($data)->select();

결합 쿼리

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$data['username']='pengyanjie';
$data['password']=array('eq','pengyanjie');
$data['id']=array('lt',30);
$data['_logic']='또는';
$list=$user->where($data)->select();
덤프($list);

복합 쿼리

코드 복사 코드는 다음과 같습니다.
$user=M('user');
$data['username']=array('eq','pengyanjie');
$data['password']=array('like','p%');
$data['_logic']='또는';
$where['_complex']=$where;
$where['id']=array('lt',30);
$list=$user->where($data)->select();

세 개의 데이터 테이블 관련 쿼리

코드 복사 코드는 다음과 같습니다.
$M_shopping = M('Shops');
$M_product = M('제품');
$M_proimg = M('제품_이미지');
$list_shops = $M_shopping->join('남은 상점이 상점의 제품으로 hr_product에 가입합니다.product_id = product.p_id가 왼쪽 가입
hr_product_image as productimgon productimg.p_id = product.p_id')->fiel('productimg.pi_url,product.p_id,product.p_name,shops.product_amount,shops.product_id,product.am_id,
product.p_procolor,product.p_price,product_amount*p_price 전체')->where("shops.user_cookie='".$_COOKIE['hr_think_userid']."'")
->group('shops.id')->select();

데이터 테이블의 쿼리 조건

① 다음은 쿼리 조건을 where에 직접 넣어서 작성하기 쉽게 하는 방법입니다

코드 복사 코드는 다음과 같습니다.
$m_test = M("Product");
$productmeaage = $m_test->where("p_id='$proid'")->select();

② 위의 방법 외에도 배열 방법도 있습니다

코드 복사 코드는 다음과 같습니다.
$M_product = M('Product');
$map['pid'] = $proid;
$p_result = $M_product->where($map)->select();

이 글이 모든 분들의 ThinkPHP 프레임워크 프로그래밍에 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.