You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WordPress数据库查询无结果,无法传递数据至JavaScript求助

WordPress数据库查询无结果的问题解决

错误点1:SQL语句表名语法错误

你的SQL查询中表名的反引号使用位置错误,导致生成了无效的表名:
原代码:

$priceQuery = "SELECT `option_value` FROM {$wpdb->prefix}`options` WHERE `option_name` = 'apv_price'";

当$wpdb->prefix为wp_时,这条语句生成的表名是wp_``options,数据库无法识别这种拆分的反引号格式,自然查不到数据。

正确写法:

// 正确包裹表名
$priceQuery = "SELECT `option_value` FROM `{$wpdb->prefix}options` WHERE `option_name` = 'apv_price'";
// 或省略反引号(表名无特殊字符时可用)
$priceQuery = "SELECT option_value FROM {$wpdb->prefix}options WHERE option_name = 'apv_price'";

错误点2:结果输出处理错误

$wpdb->get_results()返回的是二维数组(每个元素是包含字段的关联数组),直接用implode(",", $results)无法处理数组类型的元素,导致控制台输出空值。

如果只需要option_value的单个值,推荐使用$wpdb->get_var()直接获取单个字段:

$priceValue = $wpdb->get_var("SELECT option_value FROM {$wpdb->prefix}options WHERE option_name = 'apv_price'");

输出到控制台时,用json_encode确保格式正确:

<script>
  console.log("results: ", <?php echo json_encode($priceValue); ?>);
</script>

更优方案:使用WordPress原生函数

WordPress内置了get_option()函数,专门用于读取wp_options表的选项值,无需手动编写SQL,更安全简洁:

$priceValue = get_option('apv_price');

同样用json_encode输出到控制台即可。

补充说明:数据库截图显示wp_options表中存在option_name为apv_price的记录,option_value有对应有效值。

内容的提问来源于stack exchange,提问作者jstrother

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 17:03:16