从外观上看,这只是一个语法错误。您正在使用"
打开字符串,然后\'
关闭它。使用此选项:
$which_column = \'phone\';
$data_check = $wpdb->get_var("SELECT " . $which_column . " FROM wp_shopping_preferences WHERE wp_user_id = \'$id\'");
有趣的事实:使用双引号时(
"
), 您可以直接在字符串中插入变量,而无需关闭它~
$which_column = \'phone\';
$data_check = $wpdb->get_var("SELECT $which_column FROM wp_shopping_preferences WHERE wp_user_id = \'$id\'");
EDIT
我注意到你
$id
在正在添加的查询的末尾**如果这是用户提交的值
you must use [
$wpdb->准备`]
1 确保正确消毒。见下文:
$which_column = \'phone\';
$data_check = $wpdb->get_var(
$wpdb->prepare(
"SELECT $which_column FROM wp_shopping_preferences WHERE wp_user_id = %d",
$id
)
);
额外的换行符是不必要的,但只是为了证明发生了什么。我更换了
$id
具有
%d
, 将进行类型转换
$id
作为数值。退房
$wpdb->prepare
查看更多选项。