Câu trả lời:
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;}
Thêm thông tin ở đây
Luôn luôn thử Codex WordPress: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Về cơ bản được đưa ra cú pháp mặc định, biến $ row ở đây là một đối tượng chứa kết quả của bạn. Bạn có thể luân phiên chỉ định LOẠI kết quả (mảng số, mảng kết hợp).
Giả sử chỉ có một kết quả, thì $ row-> id và $ row-> name sẽ cung cấp cho bạn thông tin.
Nếu bạn nhận lại nhiều hơn một kết quả, bạn sẽ muốn lặp lại các mục trong đối tượng.
Nếu bạn đang mong đợi chỉ một hàng trở lại, thì hãy thử sử dụng $ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
Để sử dụng như một mảng kết hợp:
$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
Sử dụng
$something = $obj['column_name'];
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL . '<br />';
Để có được các định dạng khác, chỉ cần thay đổi ARRAY_A
dựa trên tài liệu cho$wpdb->get_results()
. Câu trả lời của Pippin phù hợp với hầu hết các đối tượng sử dụng.
Để sử dụng một hàng như một mảng được lập chỉ mục số
$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 . ' ';
Để sử dụng một hàng trong một mảng có các khóa là khóa chính từ cơ sở dữ liệu của bạn (thường là một id
cột). Có thể hiệu quả hơn phương pháp mảng kết hợp.
$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;
Mã này hoạt động hoàn hảo đối với tôi:
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;}