私は以下を持っています:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
$ rowから 'id'および '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;}
より多くの情報 ここ
連想配列として使用するには、
$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()
に基づいてARRAY_A
を変更するだけです。 Pippinの答えは、ほとんどのオブジェクトの使用に適しています。
1つの行を数値インデックス配列として使用する
$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 . ' ';
データベースの主キーをキーとする配列で1行を使用するには (通常は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;
常にWordPress Codexをお試しください: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
基本的にデフォルトの構文が与えられているので、ここでの変数$ rowは結果を含むオブジェクトです。代わりに結果のTYPE(数値配列、連想配列)を指定することもできます。
たった1つの結果を仮定すると、$ row-> idと$ row-> nameはあなたに情報を与えるはずです。
複数の結果が返された場合は、オブジェクト内のエントリをループしたいと思うでしょう。
1行だけ戻ってくることを期待しているなら、$ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row を使ってみてください。
このコードは私にぴったりです。
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;}