【发布时间】:2019-02-03 05:51:05
【问题描述】:
首先是我的代码:
<?php
include($_SERVER['DOCUMENT_ROOT'].'/website/dbConnection.php');
function filterTable($searchquery)
{
$filter_Result = mysqli_query($GLOBALS['connect'], $searchquery);
return $filter_Result;
}
$searchquery = "SELECT Titel, Vorname, Name, Unternehmen, Gruppe FROM mitglieder";
$searchresult = filterTable($searchquery) or die("Tabelle kann nicht angezeigt werden");
echo json_encode($searchresult);
?>
我找到了多个帖子,其中最受欢迎的是this 一个。
所以我尝试了这个:
$filter_Result = mysqli_query($GLOBALS['connect'], 'SET CHARACTER SET utf8', $searchquery);
我还将它放在连接变量之前和它自己的函数中,因为我不确定如何使用它,但没有任何帮助。当我把它作为参数时,它实际上给出了一个解析错误。
当我在发送之前回显数组时,它完全正常。在我使用json_encode() 之后,一切都被擦除了,我有一个充满空值的数组。你可以在下图中看到。我回显了数组,然后以数组作为参数回显json_encode。黄色标记线是json_encode 之一,您可以看到突然间一切都为空。
有人知道我做错了什么吗?
编辑:忘了在我的查询中提到这些是德语单词。忽略这些,因为问题不在于 SQL 查询。
编辑 2:提议的帖子没有回答我的问题,因为它不是类似的问题。其他用户的问题是使用多维数组并且它们返回不同的结果。虽然它与我的问题很接近,但它不是同一个问题,也不是同一个解决方案。
【问题讨论】:
-
mysqli_query 返回一个result object。你需要先fetch 那个数据。 - 但是看到你有一个数组(在你编辑之后):这是你的完整代码吗??
-
您是否尝试运行 `json_last_error()` 来检查错误?
-
“当我在发送它完全正常之前回显数组时” – 你在哪里回显什么数组?