【发布时间】:2018-12-30 19:54:48
【问题描述】:
上次我发布了关于搜索JSON data using PHP 的问题。在测试了脚本之后,我想尝试其他的东西。使用 MySQL 搜索数据。因为它比使用 PHP 脚本循环所有内容要快。 我在 PhpMyAdmin 中编写脚本,它为我生成了下一个 PHP 脚本。但是某处有一个错误(悲伤)
"SELECT *
FROM `bigtree_pages`
WHERE `resources` like \'%\"XNCatDesc\": \"%?%\' and `resources` like \'%\"Brand\": \"%?%\' and `resources` like \'%\"ItemDesc\": \"%?%\'"
我想给出三个值。类别、品牌和 ItemDesc(名称)。但这会引发错误。
您的 SQL 语法有错误;检查手册 对应于您的 MariaDB 服务器版本,以便使用正确的语法 在 '\'%"XNCatDesc": "%'41'%\' 和
resources附近喜欢 \'%"Brand": "%'none'%\' 和 `reso'
说实话,我真的不知道我必须把 % 符号放在哪里。
例如。我的 JSON 中有这个 "Brand": "Bullet",
该值需要为Brand(因为我们正在搜索品牌)并且品牌是子弹。编写此查询的最佳方式是什么?
【问题讨论】:
-
这不是你想在 MySQL 中做的事情。 JSON 转义很重要,在这里不容易适应。如果 JSON 数据对您的应用程序非常重要并且您才刚刚开始,请考虑切换到 Postgres,它的 advanced JSON functions 可以完成所有这些以及更多操作。