수색…


비고

$wpdb 객체를 참조하는 두 가지 방법이 있습니다. 첫 번째는 PHP 키워드 global 을 사용하여 객체의 전역 인스턴스에서 작동하는 것입니다.

global $wpdb;
echo $wpdb->prefix;
// Outputs the prefix for the database

$wpdb 객체를 사용하는 두 번째 방법은 PHP의 $GLOBALS 슈퍼 전역 변수를 참조하는 것입니다.

echo $GLOBALS['wpdb']->prefix;
// This will also output the prefix for the database

두 번째 방법은 모범 사례로 간주되지 않으므로 권장하지 않습니다.

변수 선택

가장 기본적인 형식에서는 SQL 쿼리를 전달하는 객체의 get_var 메소드를 호출하여 테이블에서 단일 변수를 선택할 수 있습니다.

global $wpdb;
$user = $wpdb->get_var( "SELECT ID FROM $wpdb->users WHERE user_email='[email protected]'" );

공격으로부터 보호하려면 쿼리에 사용 된 신뢰할 수없는 값을 이스케이프 처리 해야합니다 . 이것은 객체의 prepare 메소드를 사용하여 수행 할 수 있습니다.

global $wpdb;
$email = $_POST['email'];
$user = $wpdb->get_var(
    $wpdb->prepare( "SELECT ID FROM $wpdb->users WHERE user_email=%s", $email )
);
if( !is_null( $user ){
    echo $user; 
} else {
    echo 'User not found';
}

여러 행 선택

get_results를 사용하여 데이터베이스에서 여러 행을 가져올 수 있습니다.

global $wpdb;
$userTable =$wpdb->prefix."users";

$selectUser = $wpdb->get_results("SELECT * FROM $userTable"); 

모든 사용자 목록이 배열로 표시됩니다.



Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow