Answers:
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;}
更多信息在这里
始终尝试使用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
用作关联数组:
$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 />';
要获取其他格式,只需ARRAY_A
根据的文档进行$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;
这段代码非常适合我:
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;}