gpt4 book ai didi

php - 如何在 PHP 中使用点作为标点符号而不是附加

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

我正在 PHP 中组合 SQL 查询。如何在标点符号中声明点?

请求的示例代码:

$sql="SELECT COUNT(*) FROM Table1 WHERE LOWER(location2) REGEXP '.* .$location .*'";

参见 .* 是一个正则表达式,PHP 不应将其解释为串联。

最佳答案

这与 PHP 语法无关。您的示例在带引号的字符串内包含 .,PHP 将其解释为带引号的字符串内的 .。因此没有什么问题。

您可能遇到的情况是 MySQL 将 . 视为正则表达式中的通配符运算符。在正则表达式语法中(无论是 MySQL、PHP、Perl,还是任何地方),. 是匹配任何单个字符的通配符。如果您想在正则表达式中包含文字 .,则需要对其进行转义,即 \..

因为您在字符串中的字符串中使用它,所以您还需要转义 \ 字符,以便它正确地到达正则表达式。如果没有测试,我会说它需要转义两次(一次用于 PHP,一次用于 MySQL),例如"'\\\\.'" 在 PHP 中变为 '\\.' 在 MySQL 中变为 \. 在正则表达式中。

(显然,仅转义应按字面处理的 . 字符 - 我假设 .* 旨在匹配任何字符 - 这些不应该已更改。)

关于php - 如何在 PHP 中使用点作为标点符号而不是附加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43110486/

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