워드프레스 DB 쿼리 사용법 총정리

042월

데이터베이스에서 원하는 데이터를 다루기 위해서 쿼리를 사용한다. $wpdb에서 이를 지원하는 다양한 메소드를 제공한다. 주로 데이터의 조회(Select), 등록(Insert), 갱신(Update), 삭제(Delete) 작업이 그것이다. 메소드 사용법을 알아보자.

[$wpdb DB 메소드]

  • 단일 행, 단일 열의 값을 가져올 때 : get_var()
  • 단일 행, 다중 열의 값을 가져올 때 : get_row()
  • 다중 행, 다중 열의 값을 가져올 때 : get_results()
  • 데이터의 등록 : insert()
  • 데이터의 갱신 : update()
  • 데이터의 등록/갱신/삭제 : query()

 

1. 단일 행, 단일 열의 값을 가져올 때 : get_var()

  • 반환되는 레코드의 카운트나 합계 등 단일 값을 가져올 때 사용한다.
<?php
$user_count = $wpdb->get_var( "SELECT COUNT(*) FROM $wpdb->users" );
echo "<p>User count is {$user_count}</p>";
?>

2. 단일 행, 다중 열의 값을 가져올 때 : get_row()

  • 하나의 레코드만 반환되는 경우 사용하며, 세 가지 형태로 결과값을 이용할 수 있다.

(1) 오브젝트 필드명으로 가져오기

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10");

echo $mylink->link_id; // prints "10"

(2) 연관 배열로 가져오기(필드명)

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_A);

echo $mylink['link_id']; // prints "10"

(3) 수치 배열로 가져오기(인덱스 번호)

경축! 아무것도 안하여 에스천사게임즈가 새로운 모습으로 재오픈 하였습니다.
어린이용이며, 설치가 필요없는 브라우저 게임입니다.
https://s1004games.com

$mylink = $wpdb->get_row("SELECT * FROM $wpdb->links WHERE link_id = 10", ARRAY_N);

echo $mylink[1]; // prints "10"

3. 다중 행, 다중 열의 값을 가져올 때 : get_results()

  • 일반적으로 가장 많이 사용될 쿼리이다. 다중 행과 다중 열을 루프를 이용해 가져와서 사용한다.
$fivesdrafts = $wpdb->get_results( 
	"
	SELECT ID, post_title 
	FROM $wpdb->posts
	WHERE post_status = 'draft' 
		AND post_author = 5
	"
);

foreach ( $fivesdrafts as $fivesdraft ) 
{
	echo $fivesdraft->post_title;
}

4. 데이터의 등록 : insert()

  • insert 문을 직접 작성하지 않고 테이블명, 칼럼 변수/값을 직접 지정한다. 내부적으로 prepare 함수를 호출한다.
$wpdb->insert( 
	'table', 
	array( 
		'column1' => 'value1', 
		'column2' => 123 
	), 
	array( 
		'%s', 
		'%d' 
	) 
);

5. 데이터의 갱신 : update()

  • update 문을 직접 작성하지 않고 테이블명, 칼럼 변수/값을 직접 지정한다. 내부적으로 prepare 함수를 호출한다.
$wpdb->update( 
	'table', 
	array( 
		'column1' => 'value1',	// string
		'column2' => 'value2'	// integer (number) 
	), 
	array( 'ID' => 1 ), 
	array( 
		'%s',	// value1
		'%d'	// value2
	), 
	array( '%d' ) 
);

6. 데이터의 등록/갱신/삭제 : query()

  • 모든 실행쿼리를 실행할 수 있다. 주로 Insert, Update, Delete에 사용된다.
$metakey	= "Harriet's Adages";
$metavalue	= "WordPress' database interface is like Sunday Morning: Easy.";

$wpdb->query( $wpdb->prepare( 
	"
		INSERT INTO $wpdb->postmeta
		( post_id, meta_key, meta_value )
		VALUES ( %d, %s, %s )
	", 
        10, 
	$metakey, 
	$metavalue 
) );

 

 

[출처] https://guspark.wordpress.com/2013/02/04/%EC%9B%8C%EB%93%9C%ED%94%84%EB%A0%88%EC%8A%A4-db-%EC%BF%BC%EB%A6%AC-%EC%82%AC%EC%9A%A9%EB%B2%95-%EC%B4%9D%EC%A0%95%EB%A6%AC/

 

 

본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
번호 제목 글쓴이 날짜 조회 수
69 [함수] SQLite 와 php 의 연동 졸리운_곰 2017.04.26 58
68 2.워드프레스 소스코드 분석(wp-header.php) 졸리운_곰 2017.04.23 120
67 1.워드프레스 소스 분석(index.php) 졸리운_곰 2017.04.23 263
66 WAMP 설치파일 bitnami bitnami-wampstack-5.6.30-2-windows- file 졸리운_곰 2017.04.15 79
65 rbjn.kr 로봇저널리즘 소스코드 자료 file 졸리운_곰 2017.03.14 61
64 워드프레스 데이터베이스 들여다보기. file 졸리운_곰 2017.02.27 55
63 워드프레스 페이지 분석 file 졸리운_곰 2017.02.27 144
62 워드프레스 템플릿 계층 구조 쉽게 이해하기!(What is Template Hierarchy!?) file 졸리운_곰 2017.02.27 245
61 워드프레스 테마 구조 file 졸리운_곰 2017.02.27 57
60 기본적으로 알아야할 워드프레스 파일 구조 및 디렉터리 구조 file 졸리운_곰 2017.02.27 60
59 워드프레스 웹페이지 구조와 구성요소인 템플릿 파일 이해하기. file 졸리운_곰 2017.02.27 148
58 워드프레스의 기본 구조에 대해 알아보자 file 졸리운_곰 2017.02.27 35
» 워드프레스 DB 쿼리 사용법 총정리 졸리운_곰 2017.02.25 63
56 wordpress Database Description file 졸리운_곰 2017.02.25 49
55 Tour of the WordPress Database file 졸리운_곰 2017.02.25 48
54 Beginner’s Guide to WordPress Database Management with phpMyAdmin file 졸리운_곰 2017.02.25 330
53 Wordpress DB table 파헤치기 file 졸리운_곰 2017.02.09 46
52 워드프레스 영문판 설치 후 한글화 하려면? 졸리운_곰 2017.02.08 33
51 fuelphp 도입부터 scaffolding 사용까지 졸리운_곰 2017.02.06 98
50 cake php 사용법 file 졸리운_곰 2017.01.15 2436
대표 김성준 주소 : 경기 용인 분당수지 U타워 등록번호 : 142-07-27414
통신판매업 신고 : 제2012-용인수지-0185호 출판업 신고 : 수지구청 제 123호 개인정보보호최고책임자 : 김성준 sjkim70@stechstar.com
대표전화 : 010-4589-2193 [fax] 02-6280-1294 COPYRIGHT(C) stechstar.com ALL RIGHTS RESERVED