gpt4 book ai didi

php - 我如何一起使用 REGEXP+mysql+procedure

转载 作者:行者123 更新时间:2023-11-29 11:45:19 25 4
gpt4 key购买 nike

我正在创建按 id 查找类别的函数。由于类别值存储在 mysql 数据库中,并且使用 php 序列化和编码的 json 结果如下所示:

"a:2:{i:0;s:1:\"1\";i:1;s:2:\"50\";}"

我可以使用简单的 mysql 语句,并且使用 REGEXP 可以正常工作:

SELECT * FROM provider_cat_subcat WHERE category_id REGEXP '\\"\50.\\"'

但我想创建过程,以便我可以放置变量值。所以当我尝试这个时:

WHERE provider_cat_subcat.category_id REGEXP '\\"' + cat_id + '.\"'

我认为它不起作用,因为 REGEXP。请帮助我了解如何使用 REGEXP 连接变量,或者这就是我可以使用 php 的原因。

完整程序:

BEGIN 
SELECT * FROM provider_cat_subcat
WHERE provider_cat_subcat.category_id REGEXP '\\"' + cat_id + '.\"'
AND provider_cat_subcat.subcategory_id REGEXP '\\"' + subcat_id + '.\"';
END

谢谢

最佳答案

你能尝试一下吗?

DELIMITER $$
CREATE PROCEDURE cat_regexp_search(IN cat_id int(11), IN sub_cat_id int(11))
BEGIN
SET @cat_id := cat_id;
SET @sub_cat_id := sub_cat_id;
SELECT * FROM provider_cat_subcat
WHERE provider_cat_subcat.category_id REGEXP CONCAT('\\"', @cat_id, '.\\"')
AND provider_cat_subcat.subcategory_id REGEXP CONCAT('\\"', @sub_cat_id, '.\\"');
END
$$
DELIMITER ;

您应该将此脚本称为 CALL cat_regexp_search(1, 3);你想什么时候编辑然后调用

DROP PROCEDURE IF EXISTS cat_regexp_search;

然后再次执行创建脚本。

关于php - 我如何一起使用 REGEXP+mysql+procedure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35041818/

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