gpt4 book ai didi

php - 由于 PHP,带有数字的 MySQL LIKE 子句失败

转载 作者:行者123 更新时间:2023-11-29 01:16:18 26 4
gpt4 key购买 nike

在使用数字作为模式时,我遇到了查询的意外结果。查询看起来像这样:

SELECT Code FROM table WHERE Code LIKE '%xxx%'  

当 xxx 是字母时一切正常,但是当它们是数字时,远程 PHP 返回的查询是错误的。似乎开始的 %nn 被解释为 ASCII 代码。

示例:

SELECT Code FROM table WHERE Code LIKE '%26F%'  

返回为:从表中选择代码 WHERE 代码 LIKE '&F%'

Javascript 代码示例:

find = "26F";
srch = "Code LIKE '%" + find + "%'";
url: "load_searched_record.php?target="+srch;
...

PHP 简化代码:

$target = $_GET['target'];
echo $target;

由于我测试时把MySql代码全部去掉,只留下上面两行,很明显问题出在PHP,但为什么呢?
我应该以相同的方式编码查询吗?如果是,如何?谢谢

请注意,PHP 文件是 UTF-8 编码的。

最佳答案

那是因为您未能正确地对您放入查询字符串中的值进行 URL 编码……(这不是 PHP 的错。)

在将值附加到 URL 之前,您需要对值使用 encodeURIComponent:

"load_searched_record.php?target="+encodeURIComponent(srch)

关于php - 由于 PHP,带有数字的 MySQL LIKE 子句失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32957807/

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