【问题标题】:Display column values from database显示数据库中的列值
【发布时间】:2011-04-23 01:05:17
【问题描述】:

我正在尝试显示由我的 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

谁能帮帮我?

【问题讨论】:

    标签: php database wordpress


    【解决方案1】:

    您似乎需要数据而不是列信息。所以你需要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 或找出错误所在,那我就迷路了。

    【讨论】:

    • 您是否将“mytable”替换为$table_name 的内容?并且您的列在数据库中是否确实称为“id”或其他内容。
    • 我用 $table_name 及以上替换了我的表;全局 $table_name。这适用于所有其他实例。是的,它被称为“id”。
    • 我发布了一个新的,希望这有效。 $wpdb->prepare 不是绝对必要的,但可以帮助您抵御 SQL 注入攻击。
    • 这是我得到的: 从表中列出:$table_name WordPress 数据库错误:[您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '''' 附近使用正确的语法] SELECT id FROM ''
    • 没关系。设法得到它排序。没有正确定义 $table_name。我的错。对不起。无论如何感谢一百万:)
    【解决方案2】:

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

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

    我也喜欢 littlegreen 的错误处理。

    功能测试() { 全局 $wpdb, $table_name; $wpdb->show_errors(); $return = '从表中列出:'.$table_name.'
    '; $results = $wpdb->get_results("SELECT * FROM ".$table_name); $nameCols = $wpdb->get_col_info('name'); if (is_array($nameCols)) { $return .= '打印结果:
    '; foreach($nameCols 作为 $name) { $return .= ' '.$name; } } 别的 { $return .= '没有结果或错误
    '。 '错误: ' 。 $wpdb->print_error(); } $wpdb->hide_errors(); }

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多