显示数据库中的列值

时间:2010-10-08 18:43:28

标签: php database wordpress

我正在尝试显示由我的Wordpress插件(特别是ID)创建的特定列中的所有值。这是我设法用来显示列名的代码,但我不能只显示所有ID。这是代码:

function test() {
    global $wpdb;
    global $table_name;
    $testing = $wpdb->get_col_info('name', 0);
    foreach ($testing as $test) {
      echo $test;
    }
}

在这里你可以看到输出:

www.matthewruddy.com/premiumslider

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:0)

您似乎想要数据而不是列信息。所以你需要another function

$testing = $wpdb->get_results("SELECT id FROM mytable")
foreach ($testing as $test) {
    echo $test->id
}

修改

好的,这个怎么样:

$wpdb->show_errors();
echo 'Listing from table: $table_name<br>';
$ids = $wpdb->get_col($wpdb->prepare("SELECT id FROM %s", $table_name));
if ($ids) {
  echo 'printing results:<br>';
  foreach($ids as $id) {
    echo $id;
  }
} else {
  echo 'no results or error<br>';
  echo 'error: ' . $wpdb->print_error();
}
$wpdb->hide_errors();

如果这不能帮助您获取您的ID或弄清楚错误是什么,我就迷路了。

答案 1 :(得分:0)

对于这个问题可能有点晚了,但我认为它仍然与今天的WordPress世界有关,也是我遇到创建自己的插件的情况。

所以对于其他人来说,这对我有用。 OP几乎拥有它。但是,$ wpdb-&gt; get_col_info()依赖于其结果的缓存结果,因此需要首先调用$ wpdb-&gt; get_results或get_row或查询。 :)

我也很喜欢littlegreen的错误处理。



    function test() {
        global $wpdb, $table_name;
        $wpdb->show_errors();
        $return = 'Listing from table: '.$table_name.'
'; $results = $wpdb->get_results("SELECT * FROM ".$table_name); $nameCols = $wpdb->get_col_info('name'); if (is_array($nameCols)) { $return .= 'printing results:
'; foreach($nameCols as $name) { $return .= ' '.$name; } } else { $return .= 'no results or error
'. 'error: ' . $wpdb->print_error(); } $wpdb->hide_errors(); }