$ wpdb-> get_results에서 행 결과를 구문 분석하는 방법
4 대답
- 투표
-
- 2011-07-19
foreach( $wpdb->get_results("SELECT * FROM your_table_name WHERE id LIKE' . $id . ';") as $key => $row) { // each column in your row will be accessible like this $my_column = $row->column_name;}
자세한 정보는 여기
foreach( $wpdb->get_results("SELECT * FROM your_table_name WHERE id LIKE' . $id . ';") as $key => $row) { // each column in your row will be accessible like this $my_column = $row->column_name;}
More info here
-
이것이 올바른 방법인지 확실하지 않습니다.나는 결과를 변수로 가져 와서foreach를 사용해야 안전하다고 생각합니다.예 :$ results=$ wpdb->get_results ($ sql);그런 다음foreach ($ results as $ value)를 사용합니다.not sure if this is the right way though. I think one should get the result to a variable and use foreach on that, to be safe. E.g. $results = $wpdb->get_results($sql); and then use foreach($results as $value).
- 2
- 2013-09-13
- Gogol
-
배열,객체 또는null을 반환하기 때문에이 인스턴스에서 실제로 중요하지 않아야합니다. "루프 비 친화적 인"리소스를 얻을 위험이 없어야합니다.그것은 당신이 다른 것을 위해 그것들을 다시 반복하고 싶을 수도 있다는 것을 말했고,그렇다면 확실히 그것을 저장하십시오.두 번 쿼리하지 마십시오shouldn't really matter in this instance since it returns array, object or null, there shouldn't be any risk of getting a "loop unfriendly" resource. that said you may want to loop through them again for something else, and if so definitely store it. don't query twice
- 0
- 2017-10-29
- Garet Claborn
-
- 2011-07-19
항상 WordPress Codex 사용해보기 : http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
본질적으로 기본 구문에서 $ row 변수는 결과를 포함하는 개체입니다.결과 유형 (숫자 배열,연관 배열)을 교대로 지정할 수 있습니다.
결과가 하나라고 가정하면 $ row->id 및 $ row->name이 정보를 제공합니다.
두 개 이상의 결과를 반환하는 경우 개체의 항목을 반복하는 것이 좋습니다.
한 행만 되돌아 올 것으로 예상하는 경우 $ wpdb->get_row를 사용해보십시오. http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
Always Try the WordPress Codex: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Essentially given the default syntax, the variable $row here is an object containing your results. You could alternately specify the TYPE of result (numeric array, associative array).
Assuming just one result, then $row->id and $row->name should give you the information.
If you get back more than one result, you'd want to loop over the entries in the object.
If you are expecting just one row back, then try using $wpdb->get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
-
- 2017-10-30
연관 배열로 사용하려면 :
$obj=[]; $rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_A); foreach($rows as $row){ $obj=$row; break; } // $obj is now the selected row if a match was found
사용량
$something = $obj['column_name']; foreach($obj as $col => $val) echo $col . ': ' . $val . PHP_EOL . '<br />';
다른 형식을 얻으려면
$wpdb->get_results()
에 대한 문서. Pippin의 대답은 대부분의 개체 사용에 적합합니다.한 행을 숫자 색인 배열로 사용하려면
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_N); foreach($rows as $row){ $obj=$row; break; } //Usage foreach($obj as $col_value) echo $col_value . ' ';
키가 데이터베이스의 기본 키인 배열에서 한 행을 사용하려는 경우 (종종
id
열). 연관 배열 방법보다 더 효율적일 수 있습니다.$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , OBJECT_K); $obj = $rows[ $obj_id ]; //Usage $something = $obj->column_name; //Remember you can loop over objects too foreach($obj as $col => $val) echo $col . ': ' . $val . PHP_EOL;
To use as an associative array:
$obj=[]; $rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_A); foreach($rows as $row){ $obj=$row; break; } // $obj is now the selected row if a match was found
Usage
$something = $obj['column_name']; foreach($obj as $col => $val) echo $col . ': ' . $val . PHP_EOL . '<br />';
To get other formats, simply change
ARRAY_A
based on the documentation for$wpdb->get_results()
. Pippin's answer is appropriate for most object use.To use one row as an numerically indexed array
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_N); foreach($rows as $row){ $obj=$row; break; } //Usage foreach($obj as $col_value) echo $col_value . ' ';
To use one row in an array whose keys are the primary key from your database(often an
id
column). Possibly more efficient than the associative array method.$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , OBJECT_K); $obj = $rows[ $obj_id ]; //Usage $something = $obj->column_name; //Remember you can loop over objects too foreach($obj as $col => $val) echo $col . ': ' . $val . PHP_EOL;
-
- 2018-03-15
이 코드는 나에게 적합합니다.
global $wpdb; $table_name = "my_table_name"; $myrows = $wpdb->get_results( "SELECT `id`, `name` FROM ".$table_name); foreach ($myrows as $details) { echo $details->id; echo $details->name;}
This code work perfect for me:
global $wpdb; $table_name = "my_table_name"; $myrows = $wpdb->get_results( "SELECT `id`, `name` FROM ".$table_name); foreach ($myrows as $details) { echo $details->id; echo $details->name;}
다음 항목이 있습니다.
$ row에서 'id'및 'name'이라는 열을 가져 오려면 어떻게해야합니까?