$_GET变量在字符串和布尔操作中不显示


$_GET variable not showing up in string and boolean operations

我有一个javascript文件,它使用POST向PHP文件发送一些数据,如下所示:

var additional = "Feb2015";
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);

在PHP文件中,我使用$_GET来获取"附加"变量:

$query = $_GET['query'];

现在,如果我想用它来从MySql中获取一些数据,我用它来查询,但是当我回显它时,它只是显示空引号,其中'Feb2015'应该是:

$sql_query = "SELECT * FROM '" . $query . "'";
Output: "SELECT * FROM ''"

更奇怪的是,如果我使用json_encode并在javascript端打印它,它显示得很好。

类似地,如果我看到变量是否等于'Feb2015',使用json_encode它将返回true,但在页面上它将同时输出false。

任何想法?

编辑:

这是我的javascript代码:
xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        var content = JSON.parse(this.responseText);
        window.alert(content);}}
xmlhttp.open("POST", "database_comm_general.php?query=" + additional, true);
xmlhttp.send();

好吧,我还没有能够解决这个确切的问题,但我让我的代码通过其他方式工作:

首先,我使用jquery而不是javascript与PHP通信:

text = "Feb2015";
$.ajax(
    { url : "database_comm_general.php?" + text, success: function(data){
        var return_data = JSON.parse(data);
        populateTableList(return_data);
    }});
其次,在PHP文件中,我不使用$_GET,我从链接地址获取数据:
$link = $_SERVER[REQUEST_URI];
$index = strpos($link, "?");
$sub_string = substr($link, $index+1, 7);
$sub_string = $sub_string;

第三,我在MySQL代码中添加了一行代码,解决了一些无法编码的数组的问题:

mysqli_set_charset($conn, 'utf8');

总而言之,我觉得我已经去了地狱又回来了,但我希望这对将来的人有帮助。