显示数据库中的列值
Posted
技术标签:
【中文标题】显示数据库中的列值【英文标题】: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
谁能帮帮我?
【问题讨论】:
【参考方案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();【讨论】:
以上是关于显示数据库中的列值的主要内容,如果未能解决你的问题,请参考以下文章
如何根据一个数据帧中的列值和R中另一个数据帧的列标题名称有条件地创建新列