对于我的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;
?>
最合适的回答,由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的列的正确名称