WEB/PHP

워드프레스 별도 mysqli_query 등 sql 작업을 필요로 할때

Ezcode 2022. 6. 30. 15:01

 

워프 대량 작업을 할 시기에

워드프레스 내부에서 워프와는 별개로 만든 테이블에 select나 insert 등 별도의 작업이 필요했음

 

일반 mysqli_connect로 사용해도 무방하나

워프내에서 워프만의 기능으로 사용하고자 할때라면 이렇게 사용하자.

 

 

 

1. 단일 변수의 결과값 리턴일 경우

<?php
$total_cnt = $wpdb->get_var("SELECT COUNT(*) FROM tableName");
echo $total_cnt;
?>

 

 

2. 다수의 행으로 결과값을 리턴할 경우

<?php
$rows = $wpdb->get_row("SELECT * FROM tableName WHERE ORDER BY idx DESC LIMIT 10");
print_r($rows);
?>

 

 

3. INSERT문

<?php
$wpdb->insert("tableName", array("a1" => "aaa", "b1" => "bbb"), array("%s", "%d"));
?>

INSERT문은 일반적인 mysql문과 다르다.

첫번째 테이블명, 2번째에는 컬럼명과 값을 배열로 구성하며, 3번째 배열은 값마다 순차적으로 format을 배열로 입력한다.

(%s => string, %d => 정수, %f => 실수)

 

 

4. UPDATE문

<?php
$wpdb->update("tableName", 
    array("a1" => "111", "b2" => "222"),
	array('idx' => 1),
    array('%s','%d'),
    array('%d')
}
?>

UPDATE문과 INSERT문과 유사하다.

중간에 idx가 WHERE에 해당한다고 보면 된다.

 

 

5. DELETE문

<?php
$wpdb->delete("tableName", array("idx" => 1), array("%d") );
?>

idx가 1인것 데이터를 삭제한다. 뒤에 %d는 idx 컬럼에 포맷을 지정한다.

 

 

 

 

 

 

 

5가지만 알아도 웬만한 mysql 작업은 할 수 있다.

더 필요한 정보가 있다면 https://wordpress.org/ 를 참고해보자.