javascript - $_GET 变量未出现在字符串和 bool 运算中

标签 javascript php mysql variables post

我有一个使用 POST 将一些数据发送到 PHP 文件的 javascript 文件,例如:

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');

总而言之,我觉得我已经来回走动了,但我希望这对将来的人有所帮助。

关于javascript - $_GET 变量未出现在字符串和 bool 运算中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39519999/

相关文章:

mysql - SQL——查找参加 2 个或更多类(class)的学生

javascript - Magento:SKU 的产品 ID(JavaScript/客户端)

javascript - 语法错误,在 jQuery 选择器中检查了无法识别的表达式 : !

php - 将 future 几周内选定日期的数据插入 MySQL

php - $_GET 不从 URL 检索 id

MySQL 多条件多表查询

mysql - Mongodb查询和排序多个集合

javascript - 在 DOM 中添加新元素后保留元素屏幕位置

javascript - 使用 javascript 自定义 href

php - Laravel 5.5 request()->all() 没有得到所有的输入