WPDB:如何获取自定义数据库表中字段的值

时间:2019-01-31 作者:Steven

对于我的WordPress站点,我想在我的站点的数据库中的表的行(由用户ID确定)中回显列的值。此表是由插件创建的,因此无法通过用户元访问。我必须尝试从插件创建的表中获取值。

对于本例,该值位于数据库的“plugintable”表中,列为“columnname”。如何根据用户ID与“ID”行的匹配来获取值?

我是在其他在线资源的帮助下来到这里的,但我被困住了。

<?php
    global $wpdb, $table_prefix;
    $user_ID = get_current_user_id();
    $value = $wpdb->get_var(\'SELECT columnname FROM \'.$table_prefix.\'plugintable WHERE ID = \'.$user_ID);

    echo $value;
?>

1 个回复
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成

首先,在构建查询时,应该始终使用正确的转义。

以下是修复后代码的处理方式:

global $wpdb;
$value = $wpdb->get_var( $wpdb->prepare(
    " SELECT column_name FROM {$wpdb->prefix}plugin_table WHERE ID = %d ",
    get_current_user_id()
) );
您必须注意的事项:

你必须改变column_name 要获取的正确列名plugin_table 要从中获取值,请使用正确的表名ID 到指定表中存储用户id的列的正确名称

相关推荐

WordPress MULTITE.HTACCESS在旧*.php URL上导致500错误

我已经安装了一个新的多站点WordPress安装。一切正常,除了谷歌仍在抓取旧的URL(扩展名为.php)。这些URL现在显示一个500错误,这似乎是由于htaccess问题造成的,即这些URL没有命中WordPress。(我目前使用的是标准WordPress多站点htaccess代码。)RewriteEngine On RewriteBase / RewriteRule ^index\\.php$ - [L] # add a trailing slash to /wp-