$ wpdb-> get_row ()는 단일 행만 반환합니까?
4 대답
- 투표
-
- 2011-04-08
실제로 하나의 결과를 기대할 때만
get_row()
를 사용하십시오. 그렇지 않으면get_results()
를 사용할 수 있습니다.Indeed, use
get_row()
only when you expect to get one result, else you can useget_results()
-
참조를 위해 https://developer.wordpress.org/reference/classes/wpdb/get_row/ 과 https://developer.wordpress.org/reference/classes/wpdb/get_results/For reference see https://developer.wordpress.org/reference/classes/wpdb/get_row/ and https://developer.wordpress.org/reference/classes/wpdb/get_results/
- 2
- 2017-06-21
- user51928
-
- 2011-04-08
데이터베이스에서 데이터를 가져 오는 방법에는 세 가지가 있습니다.
1.
$wpdb->get_var
: 데이터베이스 테이블에서 단일 값을 가져 오는 데 사용합니다. 총 댓글 수를 계산하려는 경우와 같습니다. 다음과 같은 방법으로 수행 할 수 있습니다.<?php $comment_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments;")); echo '<p>Total comments: ' . $comment_count . '</p>'; ?>
2.
$wpdb->get_row
: 전체 테이블 행을 검색하려면 이것을 사용할 수 있습니다.예 :
<?php $thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ) ); echo $thepost->post_title; ?>
또는
<?php $thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ), ARRAY_A ); print_r ($thepost); ?>
get_row에서
ARRAY_A
매개 변수를 사용하면 게시물 데이터가 연관 배열로 반환됩니다. 또는ARRAY_N
매개 변수를 사용하여 숫자 색인 배열로 게시물 데이터를 반환 할 수 있습니다.3.
$wpdb->get_results
: 표준SELECT
쿼리는 데이터베이스에서 여러 행의 데이터를 검색하기 위해get_results 함수를 사용해야합니다.<?php global $wpdb; $allposts = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish'") ); foreach ($allposts as $singlepost) { echo '<p>' .$singlepost->post_title. '</p>'; } ?>
기대할 수 있듯이 마지막 계정이 필요합니다.
There are three ways to pull data from the database.
1.
$wpdb->get_var
:use this to get a single value from the database table. Like if you want to count the total number of comments. You can do it in following way:<?php $comment_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->comments;")); echo '<p>Total comments: ' . $comment_count . '</p>'; ?>
2.
$wpdb->get_row
: To retrieve an entire table row you can use this.Example:
<?php $thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ) ); echo $thepost->post_title; ?>
OR
<?php $thepost = $wpdb->get_row( $wpdb->prepare( "SELECT * FROM $wpdb->posts WHERE ID = 1" ), ARRAY_A ); print_r ($thepost); ?>
By using the
ARRAY_A
parameter in get_row your post data is returned as an associative array. Alternatively, you could use theARRAY_N
parameter to return your post data in a numerically indexed array.3.
$wpdb->get_results
:StandardSELECT
queries should use the get_results function for retrieving multiple rows of data from the database.<?php global $wpdb; $allposts = $wpdb->get_results( $wpdb->prepare("SELECT ID, post_title FROM $wpdb->posts WHERE post_status = 'publish'") ); foreach ($allposts as $singlepost) { echo '<p>' .$singlepost->post_title. '</p>'; } ?>
and you need the last one, as you can expect.
-
멋진 세부 예 ..Wonderful detail examples..
- 1
- 2013-01-27
- pixelngrain
-
확실한!왜 ..Sure! why not..
- 0
- 2013-01-28
- pixelngrain
-
- 2011-09-01
$wpdb->get_row('query', output_type, row_offset);
행 _ 오프셋 (정수) 원하는 행 (0이 첫 번째)입니다.기본값은 0입니다.
$wpdb->get_row('query', output_type, row_offset);
row_offset (integer) The desired row (0 being the first). Defaults to 0.
-
- 2016-11-16
내 솔루션은 간단합니다 ..
<?php function count_results() { # use the data base global $wpdb; # Query to count all results from one table $sql_count_results = ' SELECT count(*) as count FROM `YOUR_TABLE`;'; # Ejecute function $results = $wpdb->get_row( $sql_count_results , OBJECT ); # Return results return $results->count; }
용도 :
<?php echo count_results();
my solution is simple..
<?php function count_results() { # use the data base global $wpdb; # Query to count all results from one table $sql_count_results = ' SELECT count(*) as count FROM `YOUR_TABLE`;'; # Ejecute function $results = $wpdb->get_row( $sql_count_results , OBJECT ); # Return results return $results->count; }
Use:
<?php echo count_results();
왜 그렇습니까?콘솔에서 동일한 쿼리를 시도했는데 여러 행이 반환되었습니다.검색어는 다음과 같습니다.
$this->wpdb->get_row("SELECT * FROM ".$this->wpdb->users." WHERE status = 'active'", ARRAY_A);
활성 사용자가 여러 명인 경우 동일한 단일 행을 계속 반환합니다.내가 뭔가 빠졌나요?