我有两个表和一个这两个表的关联表。我正在尝试运行一个查询,该查询给出了从终端运行代码的所需结果,但如果从 php 执行,则给出零列或未知列结果。
这是我的查询:
$result = $mysqli->query("SELECT * FROM projects p
JOIN projects_groups pg on p.projectid = pg.projectid
JOIN groups g on g.groupid = pg.groupid
WHERE p.projectid = 'bestproject'");
完全按照上面的方式运行代码会返回 0 个结果。如果我用变量切换“bestproject”,它会返回一个未知的列 bestproject 错误。
我的查询有什么问题?
更新:我在接收结果的函数中出现了一个愚蠢的错误,这让我感到困惑。当查询成功时,接收函数显示一个空数组,当查询错误时,处理查询的函数显示空或失败结果(不是上面的那个)。我一直在查询中搜索错误,而不是查看其他地方。抱歉浪费您的时间。
最佳答案
你在那里所做的一切都选择了哪些表格和内容。您还需要有一个 php 函数来写出内容。
示例:
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "id: " . $row["id"]. " - Name: " . $row["firstname"]. " " . $row["lastname"]. "<br>";
}
} else {
echo "0 results";
}
如您所见,回显也写出了表格的内容。你也可以 make 所以你不必使用 $row['id'] 只需将它保存在另一个变量中:
$sql = "SELECT id, firstname, lastname FROM MyGuests";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$id = $row['id'];
$first = $row['firstname'];
$last = $row['last'];
echo "id: $id - Name: $first $last<br>";
}
} else {
echo "0 results";
}
当然你需要在表格中有一些内容
关于php - mysqli 在 php 中给出 0 个查询结果,但在终端中给出正确结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46285658/