gpt4 book ai didi

php - 欺骗数据库查询以接受替代值

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

我有一个数据库表,其中包含一个名为 URL 的字段,该字段显示的值如下所示:西类牙/花卉、日本/国旗。因此,URL 可能类似于 MySite/World/Spain/Bird

我想将该项目与其他几个项目组合在一起,并将它们合并到一个新网站中。问题是 URL 必须从 Spain/Flower 更改为 Spain_Flower。换句话说,我想用下划线替换所有正斜杠。

在下面的查询中,$MyURL (:MyURL) 将等于页面 URL,例如西类牙/鸟。谁能建议一种方法让它接受 Spain_URL 作为正确的 URL?因此,如果我输入 URL MySiteNew/Spain_Bird,它应该会显示,但 MySiteNew/Spain/Bird 应该获取 404 错误消息。

(我正在使用 PHP/MySQL。)

$sql = "SELECT SUM(num) as num FROM (
SELECT COUNT(URL) AS num FROM gs WHERE URL = :MyURL
UNION ALL
SELECT COUNT(URL) AS num FROM people WHERE URL = :MyURL
) AS X";

最佳答案

概括地说:您正在寻找称为“变形”的功能,该功能可以在不同格式之间翻译单词或短语:

Inflect::camelCase('A nice string'); // ANiceString
Inflect::underscore('A nice string'); // a_nice_string
Inflect::humanize('a_nice_string'); // A Nice String

各种 php 框架中都有此类库: http://book.cakephp.org/2.0/en/core-utility-libraries/inflector.html

您可以根据您的具体需求调整/扩展类似的内容:

Inflect::makeURL('MySite/Spain/Bird'); // MySite/Spain_Bird

class Inflect {
public static function makeURL($string) {
// This won't do exactly what you want but you get the idea
return str_replace('/', '_', $string);
}
}

关于php - 欺骗数据库查询以接受替代值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21247636/

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