首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有数字的MySQL类子句由于PHP而失败

问带有数字的MySQL类子句由于PHP而失败
EN

Stack Overflow用户
提问于 2015-10-05 21:00:33
回答 1查看 232关注 0票数 2

当使用数字作为模式时,我正在经历来自查询的意外结果。该查询如下所示:

代码语言:javascript
复制
SELECT Code FROM table WHERE Code LIKE '%xxx%'  

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

示例:

代码语言:javascript
复制
SELECT Code FROM table WHERE Code LIKE '%26F%'  

返回为:从表中选择代码,其中代码为'&F%‘

Javascript代码示例:

代码语言:javascript
复制
find = "26F";
srch = "Code LIKE '%" + find + "%'";
url: "load_searched_record.php?target="+srch;
...

PHP简化代码:

代码语言:javascript
复制
$target = $_GET['target'];
echo $target;

由于我删除了所有用于测试的MySql代码,只留下了上面的2行,很明显,问题源于PHP,但是为什么呢?

我应该以同样的方式编码查询吗?如果是,怎么做?谢谢

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-05 21:04:24

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

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

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

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32957807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档