首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >变量在php中的mysql查询中不能正常工作。

变量在php中的mysql查询中不能正常工作。
EN

Stack Overflow用户
提问于 2015-11-21 07:42:29
回答 1查看 90关注 0票数 0

我有一个名为"m &m (12-11-15在11:11)-Ca:16:20:06-ai“的表,我的sql查询是:

代码语言:javascript
复制
 $queryac="SELECT * 
           FROM `$actiontable` 
           WHERE (Assignedto LIKE '%$username%' 
                  OR Assignedby='$username')"; 

变量的PHP代码是:

代码语言:javascript
复制
 $table=$_GET['id'];

 $actiontable=$table.'-ai';
 id=m+%26amp%3B+m+%2812-11-15+at+11%3A11%29-Ca%3A16%3A20%3A06

(我试过urldecode($_GET‘’id‘),但也不起作用)

回显的查询是:

代码语言:javascript
复制
SELECT * FROM `m & m (12-11-15 at 11:11)-Ca:16:20:06-ai` WHERE (Assignedto LIKE '%mariummalik22@gmail.com%' OR Assignedby='mariummalik22@gmail.com') 

来自mysql的表名:m&m (12-11-15在11:11)-Ca:16:20:06-ai

我得到的错误:

代码语言:javascript
复制
 Table 'alsonsrn_actionitems.m & m (12-11-15 at 11:11)-Ca:16:20:06-ai' 

(尽管该表存在)

当我回显$actiontable时,我得到m&m(11:11处的12-11-15)-Ca:16:20:06-ai,这正是我的表名,但查询不起作用。当我手动输入相同的回显值而不是变量时,查询工作正常。原因是什么??

注释:对于不包含"&"的表名,使用相同的查询

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-21 08:22:16

我做了些测试。为了获得正确的字符串,我使用了:

代码语言:javascript
复制
$id = 'm+%26amp%3B+m+%2812-11-15+at+11%3A11%29-Ca%3A16%3A20%3A06';
var_dump( html_entity_decode( urldecode( $id ) ) );

产出如下:

字符串(37) "m &m(11:11时为12-11-15)-Ca:16:20:06“

试试看。

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

https://stackoverflow.com/questions/33840968

复制
相关文章

相似问题

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