gpt4 book ai didi

php - 如何在 MYSQL 中对序列化数据应用搜索过滤器

转载 作者:行者123 更新时间:2023-11-29 10:24:07 27 4
gpt4 key购买 nike

我的数据库表中有以下序列化数据。

我想搜索“键名称”:“%value%”。我正在以以下格式序列化数据。

我的序列化数据

a:31:{s:10:"contact_no";s:11:"1234-123456";s:13:"guardian_name";s:11:"Atif, Ashif";s:7:"program";s:10:"Essex SCHS";s:15:"sub_coordinator";s:3:"abc";s:7:"daycare";s:3:"abc";s:18:"daycare_contact_no";s:10:"9013256590";s:14:"daycare_tel_no";s:11:"1234-123456";s:9:"specialty";s:3:"abc";s:7:"address";s:3:"abc";s:4:"city";s:3:"abc";s:5:"state";s:2:"MT";s:8:"zip_code";s:6:"123456";s:8:"phone_no";s:10:"9033153594";s:8:"extra_no";s:10:"1234567890";s:9:"mobile_no";s:10:"9033153594";s:13:"contact_notes";s:3:"abc";s:8:"email_id";s:15:"abc@example.com";s:6:"fax_no";s:10:"1234567890";s:9:"id_number";s:3:"123";s:16:"service_provided";s:3:"abc";s:12:"case_manager";s:3:"308";s:18:"additonal_language";s:3:"abc";s:3:"sex";s:4:"male";s:10:"birth_date";s:10:"01/24/2018";s:17:"initial_isfp_date";s:10:"12/27/2017";s:13:"isfp_received";s:10:"12/12/2017";s:9:"isfp_date";s:10:"12/27/2017";s:11:"assign_date";s:10:"12/27/2017";s:10:"fvc_due_by";s:10:"12/19/2017";s:14:"email_approval";s:2:"no";s:9:"id_status";s:6:"active";}

我已经尝试了以下查询,但没有成功。

我尝试过的查询

SELECT * FROM ta_children c
JOIN ta_children_meta cm ON c.id = cm.child_id
WHERE cm.child_data like '%atif%' AND cm.child_data like '%guardian_name%'

在查询中 guardian_name 是键,%atif% 是搜索值。这里这是单一的,但它可能是动态的。因此,请回答对此的动态搜索。

必需:如何通过键值对实现对我的序列化数据的搜索。

谁能帮我解决这个问题吗?

最佳答案

您可能需要使用 REGEXP 正则表达式:

SELECT * FROM ta_children c
JOIN ta_children_meta cm ON c.id = cm.child_id
WHERE cm.child_data REGEXP '.*"array_key";s:[0-9]+:".*array_value.*".*'

关于php - 如何在 MYSQL 中对序列化数据应用搜索过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48638629/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com