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

WordPress WPDB SQL查询传字符串正常 传入变量失效问题求助

问题根源

你的查询返回空结果是两个问题导致的:

  • PHP字符串拼接语法写错:你在双引号包裹的SQL语句里,错误使用了单引号字符串的拼接符.,最终生成的SQL查询条件里,firstName的匹配值前后会多出多余的点号,和数据库里存储的真实姓名不匹配。
  • 存在SQL注入风险:直接把PHP变量拼接入SQL语句不符合WordPress开发规范,特殊字符转义不当不仅会导致查询失败,还会带来安全隐患。
正确实现

使用WordPress $wpdb 类自带的prepare()方法做参数预处理,既修复语法问题,也保证查询安全:

$title = get_the_title(); // 产品搜索结果循环内获取标题
global $wpdb;
// %s是字符串类型占位符,prepare方法会自动对传入的参数做安全转义
$query = $wpdb->prepare(
    "SELECT * FROM demos_13_amelia_users WHERE `status` = 'visible' AND `type` = 'provider' AND `firstName` = %s",
    $title
);
$employes = $wpdb->get_results($query);

补充说明:你原代码里的' .$title. '是单引号字符串拼接变量的写法,但你的SQL整体用双引号包裹,双引号内PHP会直接解析内嵌的变量,不需要额外用点号拼接;原写法最终生成的查询条件等价于firstName = '.实际标题值',和你直接写固定值'Perry'的条件不一致,自然无法返回正确结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 06:09:24