MySQL使用PHP函数查询REPLACE字段名称

时间:2015-03-27 23:18:46

标签: php mysql codeigniter replace str-replace

在MySQL查询中,是否可以在字段名称周围放置PHP函数以更改/替换其值?

SELECT * FROM my_table WHERE url_title(field_name) = '$variable'

询问的原因是我的URL中的'$ variable'是查询将使用的是其真实值的编辑版本(使用Codeigniter的url_title函数),例如。 $variable = 'dangelo'而其在字段名称中的真实值是“D'Angelo”。

2 个答案:

答案 0 :(得分:0)

您可以将url_title函数实现为MySQL存储过程,这需要将该函数的PHP代码转换为MySQL存储过程。

请注意,由于必须为每个查询的每一行调用此函数,性能不会很好。

更典型的解决方案是为slug设置另一个字段,预先生成每个文章的slug的值。在查询中,您可以将$ variable与新字段进行比较。

答案 1 :(得分:0)

是的,这是可能的。但完全没有推荐,因为它无法使用索引。使用您要查找的实际值创建另一列,并为该列添加索引。