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

WordPress插件SELECT查询返回空数组问题排查求助

WordPress SQL查询返回空的问题分析与解决

你的代码里**$wpdb->prepare的用法完全错误**,这是导致查询返回空的核心原因之一,同时还有其他需要排查的要点:

1. 修复prepare的写法

你现在把变量直接塞进SQL字符串里,还手动加了单引号,等于白用了prepare的参数绑定功能——既不安全,还容易因为变量解析、引号转义问题导致查询失败。正确写法应该用占位符:

global $wpdb;
$table = $wpdb->prefix . 'order_codes';   
// 用%s作为字符串占位符,把$order_code作为第二个参数传给prepare
$sql = $wpdb->prepare("SELECT * FROM $table WHERE order_code = %s", $order_code);

$order_signature = $wpdb->get_results($sql, ARRAY_A);

如果order_code是数字类型,把%s换成%d即可。

2. 其他排查要点

  • 先确认$order_code变量有没有有效值:执行var_dump($order_code);,看看是不是空字符串、null或者和数据库里的记录不匹配
  • 直接在数据库里验证查询:把$order_code的实际值代入SQL(比如SELECT * FROM wp_order_codes WHERE order_code = '你的订单码'),确认数据库里确实存在这条记录
  • 检查表名是否正确:比如你的WordPress前缀如果是wp_,表名应该是wp_order_codes,有没有拼错
  • 注意大小写:Linux服务器上的MySQL默认区分字段值大小写,如果数据库里的订单码是ABC123,但变量里是abc123,就会匹配不到

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 21:05:32