标签: Database Exception
-
接口响应报错提示 SQL 语法错误,经排查发现当请求参数 filter 包含特定单引号时,生成的 FIND_IN_SET 语句因缺少转义导致异常。对比发现,同条件下 LIKE 语句未报错是因为进行了转义。为解决此问题,参考相关文档在 Yii 2.0 中新增了支持 FIND_IN_SET 函数的条件构建器,并在 ActiveDataFilter 中使用 addslashes 函数对参数值进行转义,修改后接口响应成功,SQL 语句正常执行。
接口响应报错提示 SQL 语法错误,经排查发现当请求参数 filter 包含特定单引号时,生成的 FIND_IN_SET 语句因缺少转义导致异常。对比发现,同条件下 LIKE 语句未报错是因为进行了转义。为解决此问题,参考相关文档在 Yii 2.0 中新增了支持 FIND_IN_SET 函数的条件构建器,并在 ActiveDataFilter 中使用 addslashes 函数对参数值进行转义,修改后接口响应成功,SQL 语句正常执行。
👨💻 个人品牌
王世强|PHP / Go 技术顾问
15+ 年 Web 后端开发经验,专注于系统维护、架构优化、性能调优及 Linux 运维。
持续运营技术博客 10+ 年,累计发布 1000+ 篇原创技术文章。
为创业团队、中小企业及独立开发者提供长期技术支持与远程合作服务。
.env (14) 404 (13) add (16) AI 翻译 (30) Apache (13) Array (19) A Tour of Go (52) Cache (13) CentOS (23) ChatGPT (19) ChatGPT Plus (14) chrome (19) Cloudflare (29) Codex (17) composer (42) composer.json (22) composer install (13) composer update (14) console (16) Container (25) curl (15) delete (31) Docker (32) Dockerfile (15) EdgeOne (31) environment variable (19) error (24) file (15) filter (20) Git (27) GitHub (23) Gitlab (15) GLM-5.2 (26) Go (54) go-tour-i18n (14) Google AdSense (23) Go 语言 (23) GraphQL (24) GraphQL API (14) Gutenberg (34) http (21) https (22) Interface (19) Jquery (13) json (24) Laravel (37) Laravel 6 (55) Laravel 9 (25) Lighthouse (17) Lighthouse 5 (14) Linux (21) Migrate (13) Module (17) MySQL (78) MySQL 5.7 (22) Nginx (63) normalize.css (28) OKX (15) OneinStack (21) PHP (67) php-fpm (18) php.ini (24) PHP 7.1.12 (22) PHP 7.4 (26) phpmyadmin (15) PhpStorm (24) Polylang (57) postman (18) Query (17) queue (16) Rancher (24) Redis (49) response (13) RESTful (27) RESTful API (23) Shell (13) Shopify (19) SlyTranslate (20) SQL (24) String (14) TortoiseGit (14) Twenty Twenty-Five (20) Ubuntu (40) update (20) VPN (17) W3 Total Cache (35) Windows 10 (46) WireGuard (27) WordPress (126) WPCode (23) Wstunnel (14) Yii (40) Yii 2 (70) Yii 2.0 (51) 多语言翻译 (31) 技术博客 (15) 故障排查 (14) 数据库迁移 (16) 浏览器 (14) 阿里云 (19)